动态地向表控件添加控件

时间:2010-01-29 08:57:38

标签: c# asp.net

我有一个表格控件“table1”

并在一个按钮的点击事件中为其添加了控件:

protected void Button2_Click(object sender, EventArgs e)
{
    TableRow row;
    TableCell cell;
    for (int i = 0; i < 3; ++i)
    {
        TextBox txt = new TextBox();
        txt.Text = i.ToString();
        row = new TableRow();
        cell = new TableCell();
        cell.Controls.Add(txt);
        row.Controls.Add(cell);
        Table1.Controls.Add(row);
    }
}

但我无法在另一个按钮的点击事件中检索此控件。我认为这是因为回发。

我该如何预防?

1 个答案:

答案 0 :(得分:1)

动态添加控件时,如果要在回发时访问它们,则每次加载页面时都需要重新创建它们。

在一个按钮的单击处理程序中添加它们并期望它们在那里用于另一个按钮的单击处理程序将不起作用,因为它们尚未在第二个回发时重新创建。

您需要了解asp.net page life cycle并更改网页的逻辑以适应它。