首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找到PlaceHolder另一个PlaceHolder

找到PlaceHolder另一个PlaceHolder
EN

Stack Overflow用户
提问于 2016-02-15 12:21:11
回答 1查看 60关注 0票数 1

我有奇怪的问题..。:/

我的页面上有PlaceHolder,动态地生成更多的PlaceHolders。我已经存储了这个动态创建的PlaceHolders的名称。当我试图找到这个PlaceHolders中的任何一个时,我得到了对一个对象的错误空引用。

请帮助!:)

代码语言:javascript
复制
 private void btnMoreInfo_Click(object sender, EventArgs e)
        {
            Button button = sender as Button;

            string[] componentName = button.ID.Split('_');


            String controlName  = null;

            foreach (String singlePlaceHolder in placeHolderNames)
            {
                if (singlePlaceHolder.Contains(componentName[0]))
                    controlName = singlePlaceHolder;
            }

            Control cph = this.Master.FindControl(controlName);

            Label helperlabel = new Label();
            helperlabel.Text = "That one!";
            cph.Controls.Add(helperlabel);
            cph.Visible = true;
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-05 14:13:19

我把代码改成了这个,它现在起作用了:

代码语言:javascript
复制
var cph = FindControlRecursive(this.Master, controlName);

此外,我还添加了新方法:

代码语言:javascript
复制
private Control FindControlRecursive(Control root, string id)
{
 if(root.Id==id)
 {
   return root;
 }
 foreach (Control c in root.Controls)
 {
   Control t= FindControlRecursaive(c, id);
   if (t !=null)
   {
     return t;
   }
 }
return null;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35409261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档