ASP:表以编程方式添加行

时间:2011-09-28 10:47:55

标签: c# asp.net

我正在尝试以编程方式将行添加到asp.net中的服务器端表。我有一个按钮,在click事件处理程序中我有:

TableRow row = new TableRow();
TableCell cell = new TableCell();
cell.Controls.Add(new TextBox());

row.Cells.Add(cell);
myServersideTable.Rows.AddAt(myServersideTable.Rows.Count - 1, row);

一切都很好,代码在第一次单击按钮并添加新行时起作用。

但是,所有后续按钮单击都不会添加新行。不会抛出任何错误。

为什么会发生这种情况?

2 个答案:

答案 0 :(得分:2)

由于Http协议的无状态特性,您无法做到这一点。有关详细信息,请阅读MSDN中的ASP.NET页面生命周期。

答案 1 :(得分:2)

您正在动态添加一行,因此当您回发时,您将不得不再次重新创建控件。

在这种情况下,您正在使用表格,并且在第一次按钮点击时添加了行,因此当您再次单击时,您将不得不再次重新创建上一行,再为当前单击重新创建一行