在运行时创建文本框

时间:2011-05-05 14:48:12

标签: asp.net

如何在按钮单击时在运行时创建文本框。单击按钮的时间很多,文本框的值将通过会话传递到下一页。

到目前为止我有这样的代码

int count=0;
 protected void btnadd_Click(object sender, EventArgs e)
    {
        var i = 1;
        for (i = 1; i <= count+1; i++)
        {
            TextBox txt = new TextBox();
            form1.Controls.Add(txt);
            txt.ID = "r" + count;
            txt.Text = txt.ID;
        }
     }

这里我想将ID分配给将在运行时创建的所有文本框。此代码仅在单击按钮时显示一次文本框。但是我希望每次单击按钮时都显示文本框。

如果这样做

protected void btnadd_Click(object sender, EventArgs e)
    {
        var i = 1;
        for (i = 1; i <= 5; i++)
        {
            TextBox txt = new TextBox();
            form1.Controls.Add(txt);
            txt.ID = "r" + count;
            txt.Text = txt.ID;
            count++;
        }
     }

显示5个文本框,其id为文本框,如ro,r1,r2,r3,r4。

请帮帮我。我一直在研究这个问题很多天。 提前谢谢

1 个答案:

答案 0 :(得分:0)

我会考虑在包含文本框的页面上放置一个asp:repeater控件,并为要添加到页面的每个文本框更改它的数据源(为其添加更多行)。