我在同一页面上有一个Entry Form和一个GridView.从GridView中选择一行,使用GridView行的所有条目在其上方的Entry Form中填充TextBox.
当打开此页面并从GridView中选择任何行时,我可以看到每个AJAX请求都会向服务器发送大量View State数据.我选择了浏览器的“查看源”选项来检查这一点.我尝试使用以下方法禁用页面顶部的视图状态:EnableViewState =“false”,但我的应用程序停止正常执行.
在从GridView中选择任何行时,会生成错误,因此我重新启用了View State.
是否有任何优化的方法来使用View State并保持较小的AJAX请求?任何与View State压缩相关的东西?
我正在使用ASP.NET 2.0.
解决方法
从您使用UpdatePanel的那一刻起,开箱即用的ajax调用就是您发送所有表单发布数据,包括大视图状态.
您有两种方法,一种是自定义,ajax调用仅关注您控制的更改,而不是UpdatePanel所做的完整回发.
http://www.codeproject.com/Articles/14733/ViewState-Compression
http://www.hanselman.com/blog/ZippingCompressingViewStateInASPNET.aspx
和我做的类似问题:
How to limit the number of post values on UpdatePanel?