我正在处理一个有3个jQGrids的页面,我使用JSON来绑定它。致力于MVC 3应用程序。
示例,我有一个下拉列表,显示部门名称列表,如果我更改任何部门,我需要加载我的网格中该部门下的所有员工。用户经常在网格中编辑一些记录。
但是用户永远不会立即保存,他们会继续编辑这么多 部门员工并做一次保存。
要保留所有更改,直到用户点击全局保存,我决定将所有员工记录详细信息保存在存储在隐藏字段中的JSOn格式中。所以我从隐藏加载并绑定到基于所选部门的网格,并在用户更新网格时更新本地JSON,最后我将隐藏的JSON发送到服务器。
我在隐藏字段中存储了100个员工详细信息JSON数据的10个字段并使用。我知道我正在增加响应大小并发布数据 尺寸。问题是,它会影响绩效中的一个大问题吗?或者可以 我存储在会话中并从中加载?哪种方式最好?
答案 0 :(得分:2)
理论上,没有其他问题,而不是页面在用户回发后发送回数据的延迟。
但in real life I have see (rare but existing ones) problems在回发后有很大的字段。有些路由器,或代理它们会削减它们或阻止它们 - 我不知道实际的原因,有时它们可能只是愚蠢的过滤器。
为了避免这种罕见的情况发生,您可以将输入隐藏字段压缩并拆分为多个(当一个上面的大小很大时会出现问题)。
现在,会话是一个很好的解决方案,可以帮助最小化前后发送的数据。它可能会在会话中成长,如果用户打开两个相同的窗口,你必须找到一种方法和方法,会话数据必须是两个不同的。
有关如何压缩输入字段的一些示例。谈论的是viewstate,但想法是一样的:
http://www.codeproject.com/Articles/14733/ViewState-Compression
http://www.hanselman.com/blog/ZippingCompressingViewStateInASPNET.aspx