Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在动态创建的表中的文本框中保留viewstate_C#_Asp.net_Controls_Viewstate_Dynamic - Fatal编程技术网

C# 在动态创建的表中的文本框中保留viewstate

C# 在动态创建的表中的文本框中保留viewstate,c#,asp.net,controls,viewstate,dynamic,C#,Asp.net,Controls,Viewstate,Dynamic,我的问题是我有一个包含ASP:表的ASPX页面。表的行在页面加载时动态添加。表中的一列包含文本框,但当我在文本框上键入内容并导致回发时,我无法找到刚才输入的值。在上面,回发后不会显示该表 有人能帮我吗?我想用修改后的文本框值保留表viewstate,这样当我发回服务器时,我就可以截取这些新值 提前感谢,, Kevin您需要确保重新创建具有相同ID的文本框,然后才能找到值。例如,如果您正在使用TextChanged事件,只要每次重新创建文本框并具有相同的ID,这些事件就会触发。是否在每次页面加载时

我的问题是我有一个包含ASP:表的ASPX页面。表的行在页面加载时动态添加。表中的一列包含文本框,但当我在文本框上键入内容并导致回发时,我无法找到刚才输入的值。在上面,回发后不会显示该表

有人能帮我吗?我想用修改后的文本框值保留表viewstate,这样当我发回服务器时,我就可以截取这些新值

提前感谢,,
Kevin

您需要确保重新创建具有相同ID的文本框,然后才能找到值。例如,如果您正在使用
TextChanged
事件,只要每次重新创建文本框并具有相同的ID,这些事件就会触发。

是否在每次页面加载时添加表的行(或表本身)?如果您希望它们在回发之间正常工作,那么它们应该是


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

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


但是,文本框值位于post数据中,而不是Viewstate。这是一种常见的误解。但同样的规则也适用。

因此,如果我做对了,我必须重新=添加具有相同ID的表行,但如果这些行没有ID该怎么办。事实上,只有textbox具有ID。假设我将textbox的值从2更改为20,然后导致回发,如果我在回发后使用textbox重新创建表行,它将如何保留值20?只要实际表本身具有相同的ID,它的行也应该自动获得正确的ID。在回发之间,您的文本框也需要具有相同的ID。动态添加表而不是使用GridView并仅仅更改其数据源的内容,这有什么特别的原因吗?我还是在同一条船上,运气还是不好