【问题标题】:Failed to load viewstate. Error occurred only in IE无法加载视图状态。仅在 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:不,我没有在此页面中使用任何动态控件,所有静态控件

标签: c# asp.net .net internet-explorer


【解决方案1】:

禁用此页面的 ViewState。

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

【讨论】:

  • 我想知道我们如何找到导致这个问题的真正原因
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多