我想创建一个用户控件,它将再次包含一个动态生成的用户控件,并且可以相对于数据表中的数据重复N次。
我该怎么做。
答案 0 :(得分:1)
您想要使用TemplateControl.LoadControl(页面,用户控制和母版页都从中继承)。你需要在Init事件期间执行此操作,以便回发工作。
void Page_Init(Object Sender, EventArgs e) {
var control = LoadControl("Awesome.ascx");
// ... Magic!
}
答案 1 :(得分:0)
在父用户控件上放置一个占位符控件:
<asp:PlaceHolder runat="server" id="phMainHolder" />
在Page_Load或Page_Init事件中,您只需在for(每个)循环中实例化子用户控件,并将它们添加到占位符,例如:
for(int i = 0; i < 10; i++) {
ChildUC child = new ChildIC();
phMainHolder.Controls.Add(child);
}
这是最低限度的。您当然可以选择在子控件上设置属性或其他内容。
类ChildUC是此示例的虚构类名。使用类,如果需要,可以使用命名空间作为您要使用的用户控件的额外命名空间。