2

我正在处理一个有 3 个 jQGrids 的页面,我使用 JSON 来绑定它。处理 MVC 3 应用程序。

例如,我有一个显示部门名称列表的下拉列表,如果我更改任何部门,我需要在我的网格中加载该部门下的所有员工。用户经常在网格中编辑一些记录。

但是用户永远不会立即保存,他们一直在编辑这么多部门员工并进行一次保存。

为了在用户单击全局保存之前保留所有更改,我决定将所有员工记录详细信息以 JSOn 格式保存在隐藏字段中。所以我从隐藏加载并根据选定的部门绑定到网格,并在用户在网格中更新时更新本地 JSON,最后我将隐藏的 JSON 发送到服务器。

我将 100 个员工详细信息 JSON 数据的 10 个字段存储在隐藏字段中并使用。我知道我正在增加响应大小和发布数据大小。问题是,它会影响性能上的大问题吗?还是我可以存储在会话中并从中加载?哪个是最好的方法?

4

1 回答 1

2

理论上,除了用户回发时页面发送回数据的延迟之外没有其他问题。

在现实生活中,我已经看到(罕见但现有的)回发时存在很大字段的问题。某些路由器或代理会切断或阻止它们-我不知道实际原因,有时它们可​​能只是愚蠢的过滤器。

为了避免这种罕见的情况发生,您可以将输入隐藏字段压缩并拆分为多个(当一个大小很大时会出现问题)。

现在,会话是一个很好的解决方案,可以帮助最小化前后发送的数据。它可能会增加会话,如果用户打开两个相同的窗口,您必须找到一种处理方式和方式,会话数据必须是两个不同的。

有关如何压缩输入字段的一些示例。正在谈论视图状态,但想法是一样的:

http://www.codeproject.com/Articles/14733/ViewState-Compression

http://www.hanselman.com/blog/ZippingCompressingViewStateInASPNET.aspx

http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx

于 2013-01-31T06:52:57.557 回答