回发动态表的最佳方式

时间:2013-10-28 21:45:19

标签: asp.net webforms postback

我有一个服务器端表控件。由于我不知道它预先有多少行和列,我在我的页面Form_Load事件处理程序中构建了该表的内容。

效果很好。但我正在使用文本框填充相同的表,如果单击提交按钮,我需要能够读取这些文本框。

目前看来,表格内容在回发时会被清除。

在表格中动态创建文本框,然后在回发页面时读取这些文本框的值的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

如果要在回发上保留值,则需要在Page_Init事件上重新创建表控件层次结构。这通常意味着您需要将表控件重新绑定到来自数据库的数据结构。

一旦控制层次结构到位,ASP.NET将加载ViewState中的任何数据。该数据实际上可以是先前从文本框上的服务器设置的数据。此步骤将确保在控件上保留这些值。

在下一步中,ASP.NET将处理POST数据,这里基本上将使用客户端(浏览器)的输入更新表文本框。从ViewState设置的任何值都将(很可能)被覆盖。

所有这些都发生在Page_Load之前,因此在此阶段您应该能够访问客户端文本框值。

查看ASP.NET Page Life Cycle,尤其是this图片。

相关问题