我需要这个页面非常容易维护,所以我需要以编程方式生成大部分内容。我需要在普通标签旁边创建复选框,而不触及.aspx文件。现在我生成一个列表,其中包含名为download('filename.sqlite', 'your-db');
的页面上的所有标签。我网站上的每个标签都有一个以labels
开头的ID,但应该有一个复选框的标签以lbl_
开头。然后我想使用这样的东西来创建所述复选框:
lblx_
现在,此代码替换了标签,当我使用foreach (Label label in labels)
{
if (label.ID.Contains("lblx_"))
{
CheckBox cb = new CheckBox();
cb.ID = "cb_statistikname_" + label.ID;
label.Controls.AddAt(0, cb);
}
}
答案 0 :(得分:1)
您可以将Page.Controls.AddAt()
与page.Page.Controls.IndexOf()
if(label.Parent != null && label.Parent.Controls.IndexOf(label) >= 0)
label.Parent.Controls.AddAt(label.Parent.Controls.IndexOf(label) + 1, cb);
注意:这应该在Page PreInit事件中完成。
答案 1 :(得分:0)
如果在Label控件中设置Text属性,基本上所有子控件都将被清除。请参阅此答案:asp:label doesn't render children