无法加载视图状态。 控制树成视图状态是被装载的(Failed to load viewstate

2019-06-26 17:36发布

我一个用户控件内托管的ASP.NET窗体上的HTTP POST之后接收以下错误消息:

无法加载视图状态。 到被加载视图状态的控制树必须的是使用以前的请求期间保存视图状态控制树匹配。 例如,动态地添加控件时,一个后回过程中添加的控制必须在初始请求期间添加的控件的类型和位置相匹配。

这里的附加信息:

  • 我运行.NET 4.5 RC
  • 这是一个基于4.7一把umbraco网站
  • 在我的本地开发机的形式完美的作品
  • 此错误只发生具有.NET 4.5(只),MSSQL 2012 Express中的临时服务器上,IIS 7.5,Windows 7的(我知道,这不是一个真正的服务器还没有,有一天也许...)
  • 该服务器不是Web场的一部分(或花园,寿应该是irrevelant)
  • 用户控制确实动态呈现控件

我已经应用了所有最新的服务包。 我现在已经江郎才尽了! 我甚至已经重新启动它,也对涉及一首歌,一个特殊的舞蹈无济于事服务器进行richual。

Answer 1:

什么是重要的,当你添加控件动态是哪个事件要添加他们。

如果添加上载后发生的事件的控制,他们会在你发送到客户端的视图状态的一部分。

你将不得不再次添加这些控件之前LoadViewState被调用。

如果碰上哪个地方的决策控制,以增加本身存储在案件ViewState或控件的值,然后记得甚至在ViewState被加载,这个数据是可用的Request.Params

请参考asp.net页面生命周期



Answer 2:

我只是说EnableViewState="false"到我的网页占位和走了。 希望它为ü为好。



Answer 3:

此错误的视图状态更改过程中主要发生:从一个模板其他的模板就像在项目模板,编辑项目模板,像窗体视图,列表视图,详细信息视图,网格视图在ASP .NET(所有框架)控制的情况下;

虽然从控制状态更改说Item Template ---> Edit Template在以下将要改变

1)控制会改变(其ID&状态)

2)它的位置会发生变化。

而如果任何后恢复运行的视角变换,你会得到错误的

无法加载视图状态。 到被加载视图状态的控制树....

如果您正在使用数据绑定样(按钮,link_button_Image_button事件)独立的控制,你会得到这个错误报道!

为了避免这种错误>>> 一旦状态变化,从方法中的一个模板,其他调用数据源绑定(点击或任何后倒车事件时不要打电话)。



Answer 4:

OK,所以答案是字面上:“建立一个新的服务器与所有相同的软件作为最后一个,然后重试”和现在的工作。



Answer 5:

我添加具有相同的值ID“name”属性,那么这个问题了。

<input type="button" id="extractBomInfoBtn" name="extractBomInfoBtn" value="Extract" class="button   textonly" />


Answer 6:

检查您是否在您的网页加载事件有直接控制的装订方法。 这可能会导致这个问题。



Answer 7:

您可以添加用户控件每个新的占位符

要么

您可以设置enableviewstate=false上的控制,如果你不需要的ViewState



Answer 8:

在我来说,我有(OnPageIndexChanging)事件网格视图,当我点击一个页面什么都不会发生,直到我点击了两次!

我是令人耳目一新设置新的页面索引之前的数据源。


这是我在做什么错

grd.DataSource = data;
grd.DataBind();
grd.PageIndex = e.NewPageIndex;

这是正确的方式

grd.PageIndex = e.NewPageIndex;
grd.DataSource = data;
grd.DataBind();


Answer 9:

我遇到过同样的问题。 这个问题是在客户端,但它并没有在我的本地系统发生。 之后的谷歌搜索,我曾写过小时的EnableViewState =“假”在aspx页面我的表标签,它具有所有的动态控制,然后我删除了所有的视图状态变量,而是我创造了aspx页面一些隐藏的文本框,并接受DB值代入他们在后面的代码,并用它们在我的代码。 然后,它解决了我的问题。 不过,我仍然无法弄清楚什么是确切的问题。



Answer 10:

如果重写这可能发生SaveViewState在你的控制,但不重写LoadViewState



Answer 11:

以我为例,我操纵的ASP。文本属性:文字上这是导致该问题的页面加载。 在所有其他情况下,这从来没有给我带来了ViewState的错误,但在这种特殊情况下,我改变了。文本值到HTML元素。

下面造成的错误:

<asp:Literal ID="SvgIcon" runat="server" />

SvgIcon.Text = "<svg version=\"1.1\" id=\"Layer_1\" bla bla />"

我能够加入的EnableViewState =“假”明确的控制来解决该错误:

<asp:Literal ID="SvgIcon" runat="server" EnableViewState="false" />


文章来源: Failed to load viewstate. The control tree into which viewstate is being loaded