Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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
Jquery asp.net webforms ajax更新gridview_Jquery_Asp.net_Ajax_Gridview - Fatal编程技术网

Jquery asp.net webforms ajax更新gridview

Jquery asp.net webforms ajax更新gridview,jquery,asp.net,ajax,gridview,Jquery,Asp.net,Ajax,Gridview,我们有一个gridview,其中包含大量信息(100或行和列),我们需要这些信息来改进的性能 目前,为了解决一些性能问题,我们已使gridview没有edittemplate,而双击单元格将显示可用选项的下拉列表,这些选项使用webmethods检索,并使用jquery动态填充,在下拉列表中选择一个选项后,我们将html中的值设置为所选选项的值 我们在随后将这些更改发送回服务器时遇到问题,我们在页面上有一个按钮,该按钮会导致回发到服务器,但是当我们在gridview项中循环时,我们通过jquer

我们有一个gridview,其中包含大量信息(100或行和列),我们需要这些信息来改进的性能

目前,为了解决一些性能问题,我们已使gridview没有edittemplate,而双击单元格将显示可用选项的下拉列表,这些选项使用webmethods检索,并使用jquery动态填充,在下拉列表中选择一个选项后,我们将html中的值设置为所选选项的值

我们在随后将这些更改发送回服务器时遇到问题,我们在页面上有一个按钮,该按钮会导致回发到服务器,但是当我们在gridview项中循环时,我们通过jquery功能所做的更改不可用。它们仍然具有与前面相同的值

在填充/更新方面,我们是否采取了错误的方式?我们如何实现这一点


旁白:我知道我们可能应该限制网格的边界,但目前这不是一个选项

我认为问题在于回发后从视图状态重新加载数据。我们使用webmethod将内容加载到jquery对话框,并通过该对话框进行更新。成功保存后,更新网格以反映更改

当您以本机方式使用GridView时,即让它处理编辑模板,ViewState进入场景并正常工作。但当您手动操作网格时,相关位置不会反映任何更改,因此在服务器上具有相同的值。您说过通过jQuery在dblclick上获取值。为什么不更新blur上的行?我的意思是,当用户转到下一行时,只需通过Ajax更新当前记录。这是最安全的方法。 有一次,我和Telerik的RadTree有过同样的经历。你应该:

  • 使用为控件提供的客户端API,或
  • 在期望回发工作时,不要干扰控件的本机工作方式,或者
  • 仅出于显示目的使用控件,但为了进行操作,请使用AJAX
  • 我发现了这段代码“framework”,它修改/重新创建ViewState,并随AJAX请求一起提交,这样您仍然可以在ASP.NET中使用事件模型。在微软发布自己的.NET2.0之前,这是一个AJAX解决方案

    我将它与mootools JS库结合使用,因此在JQuery中使用它不会有任何问题,但除非您将“CallBackObject”作为JQuery插件重新编写,否则您将无法使用JQuery AJAX方法


    关于

    如果您想提高性能,请不要使用

  • 更新面板
  • 脚本管理器
  • 网格视图
  • 我猜你正在使用所有这些

    您可以,完全不使用ScriptManager。将其与jQuery网格建议的功能结合起来(和)。我对这件事很满意,但我听到的越来越多。你应该试一试

    既然一切都是客户端的,那么在回传时就不会有价值丢失的问题了


    此外,我强烈建议这样做。但那只是我。

    分页是否已实施?正如整个性能问题一样。目前没有分页,不幸的是,这是一个用户真正需要一次查看所有数据的视图,以便正确了解正在发生的事情