Question

I'm trying to build a CompositeControl that's flexible. Depending on some of it's parameters, I would like my CompositeControl to load different user controls in it's CreateChildControls method. The exact UserControls aren't know at design time.

Just as a quick example, I tried with a "hard coded" UserControl and it failed:

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

Is it possible to attain what I'm looking for?

Thanks

Was it helpful?

Solution

Try the following:

protected override void CreateChildControls()
{            
            Control UserControlControl = Page.LoadControl("~/path/to/control.ascx");
            Controls.Add(UserControlControl);
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top