How to add user control on run time in ASP.NET?
Solution 1
In your aspx
<div id="div1" runat="server">
</div>
In Page_Load
UserControl uc = (UserControl)Page.LoadControl("test.ascx");
div1.Controls.Add(uc);
All you need to do is make your div server bound by adding runat="server", and in the codebehind use Page.LoadControl to go out and fetch your usercontrol and then add it to your div using the div's Controls.Add
Solution 2
// Load the User Control
Control uc = LoadControl("~/MyUserControl.ascx");
// Add the User Control to the Controls collection
Page.Controls.Add(uc);
for more details go thru this link - An Extensive Examination of User Controls http://msdn.microsoft.com/en-us/library/ms972975.aspx
Also do read the use of ~ tidle in .net http://msdn.microsoft.com/en-us/library/system.web.virtualpathutility.aspx
Solution 3
Use the Page's LoadControl method to do this programmatically:
http://msdn.microsoft.com/en-us/library/t9ecy7tf.aspx
Also, if your intention is to add it to the div, make sure you make that div a server control by adding runat="server" in the markup
Ahmed
Updated on June 12, 2022Comments
-
Ahmed almost 2 years
How do I add a user control on page load dynamically in ASP.NET?
I have a div with
ID="contentData"
and few controls- one.ascx
- two.ascx
- three.ascx
Now I have created a page
default.aspx
, which may get parameters in query string, in one of the following ways:default.aspx?val=one default.aspx?val=two default.aspx?val=three
I am taking the value from
Request.QueryString["val"]
Now how do I load specific control in this?
<div ID="controlData"></div>