views:

35

answers:

1

I want to create a user control that will again contain a user control that will be dynamically generated and can be repeated N times with respect to data present in data table.

How can i do this.

A: 

Place a placeholder control on the parent user control:

<asp:PlaceHolder runat="server" id="phMainHolder" />

In the Page_Load or Page_Init event you simply instantiate the child user controls in a for(each) loop and add them to the placeholder like for example:

for(int i = 0; i < 10; i++) {
    ChildUC child = new ChildIC();
    phMainHolder.Controls.Add(child);
}

This is the bare minimum to do it. You can opt to set properties or whatever on your child controls of course.

The class ChildUC is a fictive class name for this example. Use the class, and if needed use the namespace as extra in which it is defined, of the user control you want to use.

XIII
@Xlll: the problem here is that i m not able to get ChildIc() available over my parent control. Am i missing something ?
Shantanu Gupta
One thing to make sure here is that you need to generate the controls on every page post back other wise(meaning don't put the condition !Page.IsPostBack when you are generating controls dynamically).
shailesh