在aspx中动态创建控件?

时间:2011-04-03 06:06:37

标签: c# asp.net

我尝试了几种方法在.aspx页面的代码隐藏中创建一些控件。我有这些问题:

1)每个组件的名称
2)这些部件的位置
3)在方法事件中访问这些组件或完全在

后面的代码中访问

我想创建一些<asp:textbox>并将它们放在表格行中。我想获得这些文本框的价值并与它们做点什么。

1 个答案:

答案 0 :(得分:2)

Retaining State for Dynamically Created Controls in ASP.NET applications上试用此演示。

这是一个非常简单的演示,介绍如何向页面添加控件,并让后续回发识别您之前的修改。基本上,文本框的数量保存到ViewState。它将循环创建 n 文本框。

您可以根据需要进行修改以适应不同的控件和命名方案。如果您愿意,也可以更改为使用Session

您可能需要的修改:

private void createControls()
{
    int count = this.NumberOfControls;

    for(int i = 0; i < count; i++)
    {
        TextBox tx = new TextBox();
        tx.ID = "ControlID_" + i.ToString();

        //Add the Controls to the container of your choice
        MyContainer.Controls.Add(tx);
    }
}