以下信息为转载:
==================================================================
在asp.net开发中,有时点击按钮进行post提交数据时会出现"此页的状态信息无效,可能已损坏。"的错误信息。
信息如下:
此页的状态信息无效,可能已损坏。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 此页的状态信息无效,可能已损坏。
针对此问题网上有一种解决办法,就是在该工程中的web.config中添加如下代码: <pages enableEventValidation="False" viewStateEncryptionMode="Never" /> ,但也有很多加了这段语句后,还是出错的情况,不知该如何解决。
另有一种解决方法:你在浏览器中查看一下出错页面的源代码里,看看源代码里面是不是有两个以上的form表单,如果有多个form表单,那么在页面回调时就包含了多份post数据,但回调时,服务器方仍然把它当作一份看待,结果服务器分析不出post数据,只给你返回了一个网页状态已损坏的消息。只要你把其中几个不太重要的form表单删除,只留下一个主要的form表单,保存并重启IIS后就会发现,问题解决了!
=================================================================
自己总结下:
按照上面当时无法解决,但是我知道确实是由于AJAX引起的.就是多了一个form标签.查看了源代码,也的确只有一个.这时候就要冷静思考错误是操作哪一步骤引起的.
程序中是在文本输入字,就是出现下拉联想,并且有分页,单选择完,点击查询,再点击查询或其他按钮就会提示这个错误.
问题一下子明了了,肯定是下拉的这个时候多了一个form,于是去那个联想的ASPX页面,我记得是后台respon,write("")构造的联想,这边只有一个table,没有form.
那么form又在哪?最近脑袋确实秀逗了,前面也有个也是很低级错误,数据库指向错了都不知道.这边就是ASPX页面默认就会有一个form的,反正没用,删除了,保证了一个页面一个form,OK,不再出现错误了.
所以问题先要找到是什么引起的,这边是AJAX多一个form引起的.
引起的原因是什么?在哪一步出现的?这边是联想的时候调用另外一个窗体这个窗体多了一个from.删除问题解决.
千万不能着急,一步一步来
==================================================================
在asp.net开发中,有时点击按钮进行post提交数据时会出现"此页的状态信息无效,可能已损坏。"的错误信息。
信息如下:
此页的状态信息无效,可能已损坏。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 此页的状态信息无效,可能已损坏。
针对此问题网上有一种解决办法,就是在该工程中的web.config中添加如下代码: <pages enableEventValidation="False" viewStateEncryptionMode="Never" /> ,但也有很多加了这段语句后,还是出错的情况,不知该如何解决。
另有一种解决方法:你在浏览器中查看一下出错页面的源代码里,看看源代码里面是不是有两个以上的form表单,如果有多个form表单,那么在页面回调时就包含了多份post数据,但回调时,服务器方仍然把它当作一份看待,结果服务器分析不出post数据,只给你返回了一个网页状态已损坏的消息。只要你把其中几个不太重要的form表单删除,只留下一个主要的form表单,保存并重启IIS后就会发现,问题解决了!
=================================================================
自己总结下:
按照上面当时无法解决,但是我知道确实是由于AJAX引起的.就是多了一个form标签.查看了源代码,也的确只有一个.这时候就要冷静思考错误是操作哪一步骤引起的.
程序中是在文本输入字,就是出现下拉联想,并且有分页,单选择完,点击查询,再点击查询或其他按钮就会提示这个错误.
问题一下子明了了,肯定是下拉的这个时候多了一个form,于是去那个联想的ASPX页面,我记得是后台respon,write("")构造的联想,这边只有一个table,没有form.
那么form又在哪?最近脑袋确实秀逗了,前面也有个也是很低级错误,数据库指向错了都不知道.这边就是ASPX页面默认就会有一个form的,反正没用,删除了,保证了一个页面一个form,OK,不再出现错误了.
所以问题先要找到是什么引起的,这边是AJAX多一个form引起的.
引起的原因是什么?在哪一步出现的?这边是联想的时候调用另外一个窗体这个窗体多了一个from.删除问题解决.
千万不能着急,一步一步来