无法加载视图状态。仅在 IE 中发生错误

Posted

技术标签:

【中文标题】无法加载视图状态。仅在 IE 中发生错误【英文标题】:Failed to load viewstate. Error occurred only in IE 【发布时间】:2012-02-03 22:19:29 【问题描述】:

我使用的是 ASP.Net 4.0,它只在单个页面和单个浏览器中引发错误。每当在其他浏览器(Chrome,firefox,safari,opera)中,此错误仅发生在 IE 中,此页面运行正常且工作正常,但是当我们调用此页面的任何按钮事件时,此页面仅在 IE 中出现错误在 IE 中,但如果我们使用的不是 IE,它可以正常工作。我很困惑为什么这个错误只发生在 IE 中,我尝试了很多来得到这个错误,但我失败了。谁能帮帮我,我正在描述这个错误信息:

加载视图状态失败。视图状态所在的控制树 正在加载的必须与用于保存的控制树匹配 上一个请求期间的视图状态。例如,当添加 动态控制,在回发期间添加的控件必须匹配 在初始阶段添加的控件的类型和位置 要求。描述:在执行过程中发生了未处理的异常 执行当前的 Web 请求。请查看堆栈跟踪 有关错误及其起源的更多信息 代码。

异常详情:

System.Web.HttpException:加载视图状态失败。 正在加载视图状态的控制树必须与 之前用于保存视图状态的控制树 要求。例如,当动态添加控件时,控件 在回发期间添加的必须与 在初始请求期间添加的控件。

来源错误:

在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。

堆栈跟踪:

[HttpException (0x80004005): 加载视图状态失败。控制 正在加载视图状态的树必须与控制树匹配 在上一个请求期间用于保存视图状态。为了 例如,当动态添加控件时,在 回发必须与添加的控件的类型和位置相匹配 在初始请求期间。] System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +327 System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148 System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225 System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148 System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225 System.Web.UI.Page.LoadAllState() +312 System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔型 includeStagesAfterAsyncPoint) +747

截图:

【问题讨论】:

注意显示引发错误的代码吗? 哪个 IE 版本,什么以及如何完成动态控件,您那里有更新面板吗? 我在 IE-7,8,9 所有版本上检查这个并在所有浏览器上抛出这个错误...... 您是否在代码中动态添加任何控件? @BrijeshMishra:不,我没有在此页面中使用任何动态控件,所有静态控件 【参考方案1】:

禁用此页面的 ViewState。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" #####.aspx.cs" Inherits="#####"  EnableViewState="false"%>

【讨论】:

我想知道我们如何找到导致这个问题的真正原因

以上是关于无法加载视图状态。仅在 IE 中发生错误的主要内容,如果未能解决你的问题,请参考以下文章

Http/2 站点仅在 Safari 9 上无法加载 - 在 Chrome、IE、Edge、Firefox 上加载正常

Webpack:无法解析模块“文件加载器”

收到错误消息;无法加载资源:服务器响应状态为500

无法加载视图状态。正在加载视图状态的控制树必须与用于保存视图状态的控制树匹配

IE9 无法通过 SSL 加载 CSS [关闭]

FancyBox iFrame 无法在 IE 和 Firefox 上加载