我想要的是让用户在文本框中键入说3,然后在aspx页面上创建3个按钮,这可能在网页上还是仅适用于Windows应用程序?因此,根据用户放入文本框的内容,我想显示该数字,即如果他们在文本框中输入4,那么我想要4个按钮出现 我的代码如下:
Button btnSave = new Button();
btnSave.ID = "btnSave";
btnSave.Text = "Save";
答案 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);
}