To dynamically create an instance of User Control we have to use Page.LoadControl () method which returns an instance of the Control class. And also the PlaceHolder control which acts as a container of controls.
Below is the code to show all the User Controls present in Application’s UserControls folder
in a single web page.
First of all we have to add a PlaceHolder control.
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
//UserControls is the folder which contains all the user controls used by the application.
const string userControlFolder = "~/UserControls";
protected void Page_Load(object sender, EventArgs e
ArrayList oArrayList = GetControlPaths();
foreach (string path in oArrayList)
Control oControl = Page.LoadControl(path);
// This method returns an ArrayList which holds the virtual path of all the User Controls.
private ArrayList GetControlPaths()
ArrayList userControlPath = new ArrayList();
//This string array contains only the list of files having .ascx extension which is the extension for user control
string files = Directory.GetFiles(MapPath(userControlFolder), "*.ascx");
foreach (string oFile in files)