asp.net – 限制关于AJAX调用的视图状态信息

我在同一页面上有一个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

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

和我做的类似问题:
How to limit the number of post values on UpdatePanel?

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...