zoukankan      html  css  js  c++  java
  • "此页的状态信息无效,可能已损坏"的原因和解决方法

    当页面A.aspx使用Ajax调用B.aspx中的数据时,在页面A中有服务器端控件,需要与服务器端交互,完成某些功能,这时候在单击服务器控件准备与服务器端进行交互时,就会出现错误信息:“此页的状态信息无效,可能已损坏”
    而且进入不了后台代码。
    产生的原因:
    WebForm_InitCallback(); 的作用就是加载网页的状态post数据,而往__theFormPostData加载的方式是以在现有post字符后追加的方式添加的具体看源代码:
    function WebForm_InitCallbackAddField(name, value)
    {
    var nameValue = new Object();
    nameValue.name = name;
    nameValue.value = value;
    __theFormPostCollection[__theFormPostCollection.length] = nameValue;
    __theFormPostData += name + "=" + WebForm_EncodeCallback(value) + "&";}
    那么
    WebForm_InitCallback(); 前必须加
    __theFormPostData = "";
    __theFormPostCollection = new Array();
    是因为在网页在浏览器加载后发生了WebForm_InitCallback();调用,为__theFormPostData ,__theFormPostCollection填充了当前页初始状态的post数据,如果你在回调前不加这两句的话 __theFormPostData就会在原来的基础上再添加现有的网页状态post数据,这样可以说现在回调时你已包含了两份post数据,但回调时,服务器方仍然把它当作一份看待,结果服务器分析不出post数据,只给你返回了一个网页状态已损坏的消息

    解决方法:
    去掉b页面里的form即可。

  • 相关阅读:
    hdu3613(扩展KMP)
    hdu4333(扩展KMP)
    poj 2185
    指数型母函数
    java高精度hdu4043
    卡特兰数简单应用
    hdu3625(第一类斯特林数)
    卡特兰数和斯特林数(转载)
    hdu4045(递推)
    java 中sendredirect()和forward()方法的区别
  • 原文地址:https://www.cnblogs.com/vagerent/p/1571271.html
Copyright © 2011-2022 走看看