|
发表于 2020-1-6 11:30:01
|
显示全部楼层
如果文章很小的时候,提交没有问题,如果你使用asp.net2.0,给你的页面增加这样的代码:
protected override PageStatePersister PageStatePersister
{
get
{
return new SessionPageStatePersister(this);
}
}
这样不但可以解决这个问题,而且下载到客户端的ViewState只有简单的一行编码,你会立刻感觉页面打开很快。
如果你是asp.net1.1,我以前贴多很多将ViewState保存在服务器临时文件目录中的方法,并且结合Cache缓冲10几秒钟来加速。那种方法与使用Session相比,同样有效,并且可靠(即使服务器重新加电重起,客户端也不会感到状态丢失了)。不过我已经好久不用asp.net1.1了,代码找不到了,如果需要可以按照这里的提示自己google看看有没有类似的功能代码。
这个ViewState的MAC校验不符,基本上是因为下载ViewState数据太大了,并且你提交的数据也很大,造成ViewState无法完全发回服务器(由于设置了最大上传尺寸MaxRequestLength等),服务器误以为暂存在浏览器端隐藏字段里的ViewState被客户端的“坏人”给修改了。 |
|