单击按钮时动态添加新文本框

roh*_*hal 5 c# asp.net controls dynamic

我正在使用此代码

<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<asp:Button ID="addnewtext" runat="server" Text="Add" onclick="addnewtext_Click" width="76px" />
Run Code Online (Sandbox Code Playgroud)

aspx.cs页面代码:

TextBox tb;
static int i = 0;
protected void addnewtext_Click(object sender, EventArgs e)
{
    tb = new TextBox();
    tb.ID = i.ToString();

    PlaceHolder1.Controls.Add(tb);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

每按一下按钮,我想添加另一个文本框.

Pra*_*ana 6

原因: 再次单击按钮时,它会回发到服务器端,并删除以前添加的动态文本框

解决方案: 要再次添加它,您需要这样做

 TextBox tb;
static int i = 0;
protected void addnewtext_Click(object sender, EventArgs e)
{
        i++;
    for(j=0;j<=i;j++)
    {
    tb = new TextBox();
    tb.ID = j.ToString();

    PlaceHolder1.Controls.Add(tb);
    }

}
Run Code Online (Sandbox Code Playgroud)

这意味着您需要再次创建添加的文本框...因为您正在动态地向页面添加控件...

这样的文章可能对您有所帮助:在ASP.NET应用程序中保留动态创建控件的状态