简体   繁体   中英

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 to 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.

  1. Initialize a label
  2. Assign text to it.
  3. Initialize a panel
  4. Add the label object to the panel.
     Label lbl1 = new Label();
     lbl1.Text = "Your message here";
     Panel panel1= new Panel();
     panel1.Controls.Add(lbl1);

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

Please see the below sample

lets say forms name is frmMain.

Button btnSave = New Button();
frmMain.Controls.Add(btnSave)

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM