asp.net-mvc - 我如何从同一个 asp.net-mvc Controller 操作中刷新两个 jqGrid?

标签 asp.net-mvc jqgrid

我有 2 个 jqGrid 表,然后我想从同一个 asp.net-mvc Controller 操作中刷新。现在我正在单独执行此操作,但这是一种浪费,因为两个表的原始数据源是相同的,所以我在后端运行相同的查询两次。理想情况下,我想调用一次 mvc Controller 操作,然后将 2 个不同的数据集返回给客户端。

jqGrid 和 asp.net-mvc 可以吗?

最佳答案

我建议您使用一个带有 datatype: "json"loadonce: true 选项的网格(稍后我将其命名为“第一个网格”)和另一个网格使用 数据类型:“本地”。服务器的响应应该包含两个部分:一个包含第一个网格的完整数据(所有页面),第二个包含完整> 第二个网格的数据。第一个网格的 jsonReaderroot 属性可以配置为处理第一部分。第一个网格的回调 beforeProcessing 可用于清除第二个网格,设置 data 参数并重新加载第二个网格。 beforeProcessing 在该场景中的优点是仅在 Ajax 调用服务器的情况下执行。例如,loadComplete 也会在本地排序或分页时执行。可以定义第二个网格的“刷新”按钮,将第一个网格的数据类型设置为“json”,然后触发“第一个 网格的 reloadGrid”。第一个网格(添加“刷新”按钮)的 navGrid 调用应包含 beforeRefresh 回调,将 datatype 重置为 "json “。以这种方式,所有网格刷新都将从服务器刷新数据,而不是本地重新加载。

实现上述方案将满足您的所有需求。由于使用 loadonce: true,您还将减少 URL 的调用次数并提高两个网格的责任。在这种情况下,两个网格中的数据排序、分页和过滤/搜索将由 jqGrid 本地实现。无需调用服务器,非常快速的分页、排序和过滤。

关于asp.net-mvc - 我如何从同一个 asp.net-mvc Controller 操作中刷新两个 jqGrid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978069/

相关文章:

c# - 无法将类型 System.web.mvc.JsonResult 隐式转换为 System.Generic.IEnumerable

c# - 允许用户在 Razor 中自定义 HTML

javascript - 在引导模式弹出窗口中旋转文本

javascript - Jquery-在 Ajax 响应上创建行并根据列值对它们进行分组?

jqGrid:没有可查看的记录

c# - Razor MVC 3 中变量的范围是什么

javascript - 可以动态创建 htmlhelpers 吗?

javascript - JqG​​rid:删除所有行和列的工具提示

jquery - jQgrid 在网格上搜索一个值

jquery - 避免另一个异步服务器调用 jqGrid