【问题标题】:The state information is invalid for this page and might be corrupted in internet explorer此页面的状态信息无效,可能在 Internet Explorer 中已损坏
【发布时间】:2011-04-18 03:17:17
【问题描述】:

我已将 jquery 用于 mbscrollable,它工作正常,但是当我在 Internet Explorer 中运行应用程序时,它会在重定向到下一页的按钮上出现错误。 错误是: 此页面的状态信息无效,可能已损坏。

“/maxnetecommerce”应用程序中的服务器错误。

此页面的状态信息无效,可能已损坏。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

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

来源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[FormatException: Base-64 字符串中的无效字符。] System.Convert.FromBase64String(String s) +0 System.Web.UI.ObjectStateFormatter.Deserialize(字符串输入字符串)+102 System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +59 System.Web.UI.HiddenFieldPageStatePersister.Load() +124

[ViewStateException:无效的视图状态。 客户端IP:182.72.17.210 端口:54486 用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;Trident/4.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;InfoPath .1;.NET4.0C) 视图状态:/ wEPDwULLTEwMjY3ODM1MjEPFgIeB2VuZERhdGUFAjMwFgJmD2QWAgIDD2QWBgIFD2QWAmYPFgIeBFRleHQF + CE8ZGl2IGlkPSdtZW51Jz48dWwgY2xhc3M9J21lbnUnPjxsaSBpZD0nMCcgb25DbGljaz0nc2V0Q29va2llKDApJz48YSBocmVmPSdEZWZhdWx0LmFzcHgnIGNsYXNzPSdwYXJlbnQnPjxzcGFuPkhvbWU8L3NwYW4 + PC9hPjwvbGk + PGxpIGlkPScxJyBvbkNsaWNrPSdzZXRDb29raWUoMSknPjxhIGhyZWY9J1JlZ2lzdGVyLmFzcHgnIGNsYXNzPSdwYXJlbnQnPjxzcGFuPlJlZ2lzdGVyPC9zcGFuPjwvYT48L2xpPjxsaSAgaWQ9JzInIG9uQ2xpY2s9J3NldENvb2tpZSgyKSc + PGEgaHJlZj0nTG9naW5QYWdlLmFzcHgnIGNsYXNzPSdwYXJlbnQnPjxzcGFuPkxvZ2luPC9zcGFuPjwvYT48L2xpPjxsaSBpZD0zIG9uQ2xpY2s9J3NldENvb2tpZSgzKScgPjxhIGhyZWY9JyMnIGNsYXNzPSdwYXJlbnQnPjxzcGFuPkJpa2VzPC9zcGFuPjwvYT48ZGl2Pjx1bD4gPGxpIGlkPTMgb25DbGljaz0nc2V0Q29va2llKDMpJyA + PGEgaHJlZj0nQ2F0ZWdvcnlGZWF0dXJlZFByb2R1Y3RzLmFzcHg / UGFyZW50Q2F0aWQ9MzUmU3ViQ2 ...] P>

[HttpException (0x80004005): 此页面的状态信息无效,可能已损坏。] System.Web.UI.ViewStateException.ThrowError(异常内部,字符串persistedState,字符串errorPageMes​​sage,布尔macValidationError)+148 System.Web.UI.HiddenFieldPageStatePersister.Load() +10956310 System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +11040040 System.Web.UI.Page.LoadAllState() +46 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+11035559 System.Web.UI.Page.ProcessRequest(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+11035098 System.Web.UI.Page.ProcessRequest() +91 System.Web.UI.Page.ProcessRequest(HttpContext 上下文)+240 ASP.default_aspx.ProcessRequest(HttpContext 上下文) +52 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +599 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

但它在 Mozilla Firefox 中运行良好, 当我从页面中删除 mbscrollable 时,不会出现错误, 谁能告诉我解决方案。

谢谢。

【问题讨论】:

  • 查看此相关链接stackoverflow.com/questions/3091481/… 可能会对您有所帮助
  • 这发生在我身上,当页面日期通过 AJAX 或更新面板更新时......我不知道为什么。而且它并不总是显示这个错误,只是有时......

标签: asp.net


【解决方案1】:

我的猜测是您有一个大视图状态,因为 mb.scrollable 将所有数据保存在同一页面上,并且通常这些数据保存在视图状态中。

要测试它,只需检查渲染的 html 的源代码,看看 viewstate 是否真的很大。

如果只是更改 web.config 上的视图状态选项。您可以在 web.config 上自动将其切割成部分。您还可以在 Web 上找到压缩视图状态的代码。您还可以禁用控件的视图状态并检查您是否没有其他问题并且不需要。

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    大多数情况下,我们修改页面会导致重新生成 Temporary ASP.NET 文件夹中的阴影复制文件。用户拥有此更改之前请求的页面的副本,并且用户在该文件夹中的文件重新生成后发布该页面。

    更多详情请访问http://support.microsoft.com/kb/323744

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多