我正在尝试构建一个灵活的CompositeControl。根据它的一些参数,我希望我的CompositeControl在其CreateChildControls方法中加载不同的用户控件。在设计时不知道确切的UserControls。
就像一个简单的例子,我尝试使用“硬编码”的UserControl,它失败了:
protected override void CreateChildControls()
{
Control UserControlControl = Page.LoadControl(typeof(MyUserControl), null);
Controls.Add(UserControlControl);
Label RegularControl = new Label();
RegularControl.Text = "This gets displayed";
Controls.Add(RegularControl);
}
是否有可能实现我正在寻找的目标?
由于
答案 0 :(得分:2)
尝试以下方法:
protected override void CreateChildControls()
{
Control UserControlControl = Page.LoadControl("~/path/to/control.ascx");
Controls.Add(UserControlControl);
}