1、问题描述:

  网站部署之后,排序或者搜索之后报错:The state information is invalid for this page and might be corrupted

2、问题原因:Viewstate (视图状态持久性机制)

  Asp.net页面中ViewState一般是存储在页面的一个隐藏域中:<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="一堆乱七八糟的东西">

很多人可能都遇到过,视图状态被破坏掉了,页面无法显示,

3、解决方法

[1]把页面的 ViewState 去掉,但不是最佳的:

属性:enableViewStateMac
指定从客户端回发页时,ASP.NET 是否应该对页的视图状态运行消息身份验证代码 (MAC)。如果为 True,将检查加密的视图状态,以验证视图状态是否已在客户端被篡改。默认值为 True。
属性:viewStateEncryptionMode
指定视图状态的加密模式。ViewStateEncryptionMode 属性重写配置文件中设置的该属性。
此属性可以为下列可能值之一。
Always:视图状态始终加密。
Auto
视图状态根据控件的请求而加密。
Never
视图状态从不加密,即使控件请求加密时也是如此。
此属性是 .NET Framework 2.0 版中的新属性。
默认值为 Auto。

引发上面这种错误的一般原因都是因为网页还没有完全下载完,页面的ViewState不完全,然后就有了 Postback ,这样就导致了ViewState验证错误。这种解决方法一般就是在页面或者web.config中加上或更改pages属性,如下:
<pages enableEventValidation="false" viewStateEncryptionMode ="Never" />
这样页面就不会进行验证。

(2)。接受数据的变量相同导致;在页面,ViewState把表格对象保存后,可能用的是xml格式,但是如果DataSet和 DataTable的名字一样,会导致xml结构上出了问题,所以当ViewState重新读取时发生错误(一个页面的内容里包含了同样名字为 __VIEWSTATE的变量的内容,所以在主页面提交时,会发现内容已经变化了.所以没办法提交.)

3 解决办法:

首先尝试了在页面,form,repeater上都禁用了viewstate,但是不起作用还是不行,后尝试修改web.config并实现。

web.config,加配置:<pages validateRequest="false" enableViewStateMac='false' />

若是崩掉,提示customers之类的错误,再添加一个配置:<customErrors mode="Off" defaultRedirect="GenericErrorPage.htm"></customErrors>

Debug 之 The state information is invalid for this page and might be corrupted的更多相关文章

  1. PatentTips - Virtual machine management using processor state information

    BACKGROUND OF THE INVENTION The invention generally relates to virtual machine management, and more ...

  2. ironic state information

    参考: http://blog.csdn.net/zhonglinzhang/article/details/74202562 http://blog.csdn.net/wanghuiict/arti ...

  3. 常用的PC/SC接口函数

    PC/SC规范是一个基于WINDOWS平台的一个标准用户接口(API),提供了一个从个人电脑(Personal Computer)到智能卡(SmartCard)的整合环境,PC/SC规范建立在工业标准 ...

  4. COM Error Code(HRESULT)部分摘录

    Return value/code Description 0x00030200 STG_S_CONVERTED The underlying file was converted to compou ...

  5. PatentTips - Modified buddy system memory allocation

    BACKGROUND Memory allocation systems assign blocks of memory on request. A memory allocation system ...

  6. Cisco IOS debug command reference Command A through D

    debug aaa accounting through debug auto-config debug aaa accounting : to display information on acco ...

  7. Cisco IOS Debug Command Reference I through L

    debug iapp through debug ip ftp debug iapp : to begin debugging of IAPP operations(in privileged EXE ...

  8. Cisco IOS Debug Command Reference Command E through H

    debug eap through debug he-module subslot periodic debug eap : to display information about Extensib ...

  9. State management(状态管理)

    State management https://en.wikipedia.org/wiki/State_management UI控件的状态管理, 例如按钮的灰化.只读.显示隐藏等. 特殊地一个控件 ...

随机推荐

  1. Diamond

    Diamond主要提供持久配置的发布和订阅服务,最大特点是结构简单,稳定可靠.Diamond的主要使用场景是用来进行动态数据库切换与扩容,进行一些业务系统运行时开关配置的推送.Diamond产品专注于 ...

  2. 求大于整数m且紧靠m的k个素数 及 判断一个数是否为素数的方法

    题目: 请编写一个函数void fun(int m,int k ,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中. 例如,若输入:17,5,则应输出:19,23 ...

  3. Windows版词汇小助手V3.0发布了

    欢迎使用词汇小助手 作者:IT小小龙 电子邮箱:long_python@126.com 个人博客:http://blog.sina.com.cn/buduanqs 一款跨平台词汇查询记忆学习软件. 已 ...

  4. javscript面试题(一)

    你如何理解HTML结构的语意化? 1.去掉或样式丢失的时候能让页面呈现清晰的结构:2.屏幕阅读器(如果访客有视障)会完全根据你的标记来“读”你的网页:3.PDA.手机等设备可能无法像普通电脑的浏览器一 ...

  5. Cordova CrossWalk

    http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-2-cordovabarcodescanner/ 军训结束后,同学们 ...

  6. Storm因机器断电等,启动supervisor异常

    Storm因机器断电等,启动supervisor错误 因机器断电或其他异常导致的supervisor意外终止,再次启动时报错: 2014-08-13 10:36:03 b.s.event [ERROR ...

  7. keil中的存储模式

    存储模式 存储模式决定了默认的存储器类型此存储器类型将应用于函数参数局部变量和定义时未包含存储器类型的变量你可以在命令行用SMALL COMPACT和LARGE参数定义存储模式,定义变量时使用存储器类 ...

  8. iframe中的各种跳转方法

    iframe中的各种跳转方法(转)   一.背景A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,在D中跳转页面的写法区别如下. 二.JS跳转window.l ...

  9. 可学习的多人人脸识别程序(基于Emgu CV)

    源代码下载(需要安装Emgu CV,安装方法请百度) 很多朋友使用Emgu CV遇到CvInvoke()的报错,我找到一种解决方法. 把EmguCV目录下bin里面的所有dll复制到C:\WINDOW ...

  10. 如何在线缩小jpg图片的大小

    直接使用在线PS保存成更小格式,即可! 在线PS网址:http://www.webps.cn/ 打开图片 点击保存 直接拖动滑动条就可以改变图片大小