此页的状态信息无效,可能已损坏---应用程序中的服务器错误---

      用了个GridView 在用户管理的列上设定了  “修改”列的的转向链接!  当点击修改时,页面能正常转到修改页面,用户编号也传过来了,但是当一点击服务器控件时,页面就报错!我晕! 

信息如下:

此页的状态信息无效,可能已损坏。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 此页的状态信息无效,可能已损坏。

源错误:

[没有相关的源行]

源文件: c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/ccdb.website/d63ab35e/51b90d55/App_Web_znrbpnky.0.cs    行: 0

堆栈跟踪:
[FormatException: Base-64 字符串中的无效字符。]
   System.Convert.FromBase64String(String s) +0
   System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +134
   System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +30
   System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +52
   System.Web.UI.HiddenFieldPageStatePersister.Load() +155
[ViewStateException: 无效的视图状态。
[HttpException (0x80004005): 此页的状态信息无效,可能已损坏。] System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +171
   System.Web.UI.ViewStateException.ThrowViewStateError(Exception inner, String persistedState) +37
   System.Web.UI.HiddenFieldPageStatePersister.Load() +269
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +137
   System.Web.UI.Page.LoadAllState() +102
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5914
   System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +188
   System.Web.UI.Page.ProcessRequest() +112
   System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +37
   System.Web.UI.Page.ProcessRequest(HttpContext context) +135
   ASP.member_useradd_aspx.ProcessRequest(HttpContext context) in c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/ccdb.website/d63ab35e/51b90d55/App_Web_znrbpnky.0.cs:0
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +401
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +117


 可能的原因:

 Client IP: 127.0.0.1
 Port: 
 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
 ViewState: /wEPDwULLTE5MDQ1ODQ5MzYPZBYCAgEPZBYEAgsPEA8WAh4LXyFEYXRhQm91bmRnZBAVBwzlub/nlLXlhazlj7gP5a6i5oi35pyN5Yqh56eRD+eUteivneWdkOW4reenkQ/msZ/lsrjliIblhazlj7gP5rGJ5Y+j5YiG5YWs5Y+4Feaxn+WyuOe7tOS/ruS4gOWkp+mYnxXmsZ/lsrjnu7Tkv67kuozlpKfpmJ8VBwEwATEBMgEzATQBNQE2FCsDB2dnZ2dnZ2dkZAIRDw9kFgIeB29uY2xpY2sFGmphdmFzY3JpcHQ6aGlzdG9yeS5iYWNrKCk7ZGQ=,
 Referer: http://localhost:1839/CCDB.Website/member/useradd.aspx Path: /CCDB.Website/member/useradd.aspx]

 


版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.210

 

@学习.NET
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数据,只给你返回了一个网页状态已损坏的消息具体如下:
response
"<html>
<head>
<title>此页的状态信息无效,可能已损坏。</title>
<style> 
 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值