如何动态地向ASP.NET表单添加控件?

时间:2011-01-06 06:54:50

标签: c# asp.net webforms controls

我不知道如何使用C#.net动态地向窗体添加控件。谁能帮我?我知道这与vb.net,但我需要知道C#中的语法。

6 个答案:

答案 0 :(得分:6)

在表单中,以下代码可以动态添加按钮:

Button button1 = new Button();
button1.Text = "dynamic button";
button1.Left = 10; button1.Top = 10;  //the button's location
this.Controls.Add(button1);

答案 1 :(得分:5)

在Aspx中

<%@ Reference Control = "WebUserControl1.ascx" %>

你可以在Cs文件中使用以下内容来动态地添加控件......

if (case)
else
{
WebUserControl1 uc = 
      (WebUserControl1) Page.LoadControl("WebUserControl1.ascx"); 
    PlaceHolder1.Controls.Add(uc); 


}

或试试这个

 Content.Controls.Add(Page.LoadControl("UserControls/InventoryNav.ascx"));

还可以看看:

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

答案 2 :(得分:3)

下面是可以在某些事件(如页面加载或onload)上调用的代码,甚至是某些用户操作(如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();
   }
}

答案 3 :(得分:2)

请参阅以下示例

让我们说表格名称是frmMain。

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

答案 4 :(得分:2)

以下是动态添加控件到ASP.NET表单的代码。

  1. 初始化标签
  2. 为其指定文字。
  3. 初始化面板
  4. 将标签对象添加到面板。

    标签lbl1 =新标签();
    lbl1.Text =“你的消息在这里”;
    Panel panel1 = new Panel();
    panel1.Controls.Add(LBL1);

答案 5 :(得分:1)

将控件添加到面板通常是可以接受的,无论是将面板添加到标记中的页面还是以编程方式添加。

有关C#语法

,请参阅以下link