在动态创建的表中找到的文本框中保留视图状态

时间:2010-02-03 13:59:29

标签: c# asp.net controls viewstate dynamic

我的问题是我有一个ASPX页面,其中包含一个ASP:Table。表的行是在Page_Load上动态添加的。表中的一列包含TextBoxes,但是当我在TextBox上键入内容并导致回发时,我无法找到刚刚输入的值。在此之后,表格不会在回发后显示。

有人能帮帮我吗?我想保持表viewstate与修改后的文本框值,以便当我回发到服务器时,我可以拦截这些新值。

提前致谢, 凯文

3 个答案:

答案 0 :(得分:1)

您需要确保使用相同ID 重新创建文本框,然后您应该能够找到该值。例如,如果您使用的是TextChanged个事件,那么这些事件会在每次重新创建文本框并具有相同ID时触发。

答案 1 :(得分:0)

是否在每个 Page_Load中添加了表(或表本身)的行?如果你希望它们在回发之间正常工作,它们应该是。

编辑:使用相同的ID,如另一个答案所指出的那样。

答案 2 :(得分:0)

如果希望ViewState跟踪任何内容,则需要在Init事件期间(以及每次加载时)添加动态控件,因为ViewState在Page_Load之前还原。

但是,TextBox值可以在post数据中找到,而不是Viewstate。这是一个普遍的误解。但是同样的规则适用。