How to add controls dynamically to ASP.NET form?
I do not know how to add controls dynamically to the form using C# .net. Can anyone help me? I know this with vb.net but I need 开发者_如何学Pythonto know the syntax in C#.
In the form, the following code can add a button dynamically:
Button button1 = new Button();
button1.Text = "dynamic button";
button1.Left = 10; button1.Top = 10; //the button's location
this.Controls.Add(button1);
In Aspx
<%@ Reference Control = "WebUserControl1.ascx" %>
U can use the following in the Cs file to laod the control dynamically...
if (case)
else
{
WebUserControl1 uc =
(WebUserControl1) Page.LoadControl("WebUserControl1.ascx");
PlaceHolder1.Controls.Add(uc);
}
or try this
Content.Controls.Add(Page.LoadControl("UserControls/InventoryNav.ascx"));
Can also have a look at:
http://aspalliance.com/565
http://samuelmueller.com/2008/12/dynamicloader-plugin-dynamically-loading-asp-net-user-controls-with-jquery
http://forums.asp.net/p/1222567/2826338.aspx
Below is the code to add controls dynamically to ASP.NET form.
- Initialize a label
- Assign text to it.
- Initialize a panel
- Add the label object to the panel.
Label lbl1 = new Label();
lbl1.Text = "Your message here";
Panel panel1= new Panel();
panel1.Controls.Add(lbl1);
Please see the below sample
lets say forms name is frmMain.
Button btnSave = New Button();
frmMain.Controls.Add(btnSave)
Below is the code that can be called on some events like page load or onload or even some user action like onclick.
protected void add_button(Button btn)
{
try
{
panel1.Controls.Add(btn); // Add the control to the container on a page
}
catch (Exception ee)
{
lblError.Text = ee.Message.ToString();
}
}
It's generally acceptable to add the controls to a panel, be it that the panel has been added to the page in the markup or programmatically.
See the following link for the C# syntax
精彩评论