我有一个服务器端表控件。因为我事先不知道它会有多少行和列,所以我在我的 pagesForm_Load
事件处理程序中构建了这个表的内容。
效果很好。但是我正在用文本框填充同一个表,如果单击提交按钮,我需要能够读取这些文本框。
就目前而言,表内容似乎在回发时被清除。
在表格中动态创建文本框,然后在回发页面时读取这些文本框的值的最佳方法是什么?
如果要在回发时保留值,则需要在Page_Init
事件上重新创建表控件层次结构。这通常意味着您需要将表控件重新绑定到来自数据库的数据结构。
一旦控件层次结构就位,ASP.NET 将从ViewState
. 该数据实际上可以是先前从服务器在文本框上设置的数据。此步骤将确保这些值保留在控件上。
在下一步中,ASP.NET 将处理 POST 数据,这里基本上将使用来自客户端(浏览器)的输入来更新表格文本框。从 ViewState 设置的任何值都将(很可能)被覆盖。
所有这些都发生在之前Page_Load
,所以在这个阶段你应该能够访问客户端文本框的值。
查看ASP.NET 页面生命周期,尤其是这张图片。