是否可以在aspx页面中以编程方式创建多个按钮?

时间:2014-04-17 12:26:18

标签: c# asp.net .net

我想要的是让用户在文本框中键入说3,然后在aspx页面上创建3个按钮,这可能在网页上还是仅适用于Windows应用程序?因此,根据用户放入文本框的内容,我想显示该数字,即如果他们在文本框中输入4,那么我想要4个按钮出现 我的代码如下:

Button btnSave = new Button();
btnSave.ID = "btnSave";
btnSave.Text = "Save";

3 个答案:

答案 0 :(得分:2)

将这些添加到您的ASPX页面

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<asp:Panel ID="buttonPanel" runat="server"></asp:Panel>

然后在按钮点击事件中:

protected void Button1_Click(object sender, EventArgs e)
{
    int number = int.Parse(TextBox1.Text);
    for(int i =  0; i< number ;i++)
    {
        Button btn = new Button();
        btn.ID = "btnSave" + i;
        btn.Text = "Save " + i;
        buttonPanel.Controls.Add(btn);
    }
}

您可以使用int.TryParse检查TextBox中的无效输入。

答案 1 :(得分:1)

以下是

的详细示例

<强> Adding Controls to an ASP.NET form Dynamically

他们在该示例中所做的是创建一个名为 DynamicControlsHolder PlaceHolder 控件,其中当用户点击 AddControlButton 时会添加一些控件

    <form id="form1" runat="server">
    <div>
    <asp:Button ID="AddControlButton" runat="server" Text="Add Control" onclick="AddControlButton_Click" />
    <br />
    <asp:PlaceHolder ID="DynamicControlsHolder" runat="server"></asp:PlaceHolder>
    <br />
    <br />
    <asp:Button ID="Submit" runat="server" Text="Submit Form" onclick="Submit_Click" />
    <br />
    ........
    </div>
    </form> 

然后在后面的代码中他们对点击的 AddControlButton 作出反应

 protected void AddControlButton_Click(object sender, EventArgs e)
{
    TextBox txt = new TextBox();
    DynamicControlsHolder.Controls.Add(txt);
    DynamicControlsHolder.Controls.Add(new LiteralControl("<br>"));
}

答案 2 :(得分:0)

尝试这种方式:

for(int i=1; i<= ButtonNos; i++)
{
 Button NewButton =new Button();
 NewButton.ID = "Newbutton"+i;
 NewButton.Width = 540;
 NewButton.Height = 60;
 NewButton.Text = "Button "+ i;

 this.Controls.Add(NewButton);
}
相关问题