代码之家  ›  专栏  ›  技术社区  ›  srmark

是否可以将UserControl添加到复合控件中?

  •  0
  • srmark  · 技术社区  · 15 年前

    我正在尝试建立一个灵活的复合控制。根据某些参数,我希望CompositeControl在其CreateChildControls方法中加载不同的用户控件。确切的用户控件在设计时不知道。

    就像一个简单的例子,我尝试了一个“硬编码”的用户控件,但失败了:

    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);
        }
    

    有没有可能达到我想要的?

    谢谢

    1 回复  |  直到 15 年前
        1
  •  2
  •   Dan    15 年前

    尝试以下操作:

    protected override void CreateChildControls()
    {            
                Control UserControlControl = Page.LoadControl("~/path/to/control.ascx");
                Controls.Add(UserControlControl);
    }