Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
Gridview在回发时丢失通过Javascript所做的更改_Javascript_Asp.net_Gridview_Postback_Viewstate - Fatal编程技术网

Gridview在回发时丢失通过Javascript所做的更改

Gridview在回发时丢失通过Javascript所做的更改,javascript,asp.net,gridview,postback,viewstate,Javascript,Asp.net,Gridview,Postback,Viewstate,我有一个Gridview,可以绑定一些数据。我在Gridview的每一行上都有复选框,用于通过Javascript删除记录。删除效果很好。我的问题是,当我在页面上回发时,所有删除的记录都会重新出现。我假设这是viewstate的问题 如何使Javascript删除的行在回发时保持删除状态?您必须在回发时使用不包含已删除项的新数据源再次对网格进行数据绑定! 如果数据源包含旧项,则它们将再次显示。我能够使其正常工作。因为服务器不知道我删除了客户机上的行,所以我需要在post back上再次删除服务器

我有一个Gridview,可以绑定一些数据。我在Gridview的每一行上都有复选框,用于通过Javascript删除记录。删除效果很好。我的问题是,当我在页面上回发时,所有删除的记录都会重新出现。我假设这是viewstate的问题


如何使Javascript删除的行在回发时保持删除状态?

您必须在回发时使用不包含已删除项的新数据源再次对网格进行数据绑定!
如果数据源包含旧项,则它们将再次显示。

我能够使其正常工作。因为服务器不知道我删除了客户机上的行,所以我需要在post back上再次删除服务器端的行


我是如何做到这一点的,当我删除客户端上的行时,我将删除的索引存储在一个隐藏字段中。然后,一旦页面发回,我从这个隐藏字段中获取值,循环遍历网格的数据源并删除行。之后,我将再次对网格进行DataBind()。

一个好的开始是发布一些代码。GridView不是客户端控件,JavaScript无法更改用于填充GridView的数据存储。您所能做的最好的事情就是标记要删除的行,如果您愿意,甚至可以隐藏它们。但实际的删除必须在回发期间在服务器端完成。有很多方法可以实现这一点,但是如果不了解更多关于代码的信息,任何答案都是猜测。您必须在回发时使用新的数据源(不包含已删除的项)再次对网格进行数据绑定!然后呢?有帮助吗?如果没有张贴您的代码!谢谢,我今天不在办公室发代码。我想我要将删除的客户端索引存储在一个隐藏的字段控件中。然后,当页面从服务器发回时,从隐藏字段中获取这些索引,遍历网格并删除行。我会试试这个,让你们知道这是否奏效。谢谢,这让我走上了正确的道路。我想投票,但我还没有足够的代表权。