1

我有一个服务器端表控件。因为我事先不知道它会有多少行和列,所以我在我的 pagesForm_Load事件处理程序中构建了这个表的内容。

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

就目前而言,表内容似乎在回发时被清除。

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

4

1 回答 1

1

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

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

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

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

查看ASP.NET 页面生命周期,尤其是这张图片。

于 2013-10-28T22:14:16.627 回答