在每个标签旁边创建复选框

时间:2016-08-08 14:06:50

标签: c# asp.net

我需要这个页面非常容易维护,所以我需要以编程方式生成大部分内容。我需要在普通标签旁边创建复选框,而不触及.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); } }

时也是如此

2 个答案:

答案 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