无法加载viewstate.正在加载viewstate的控制树

kri*_*son 13 .net asp.net umbraco .net-4.5 asp.net-4.5

我在UserControl内部托管的ASP.NET表单上的HTTP POST后收到以下错误消息:

无法加载viewstate.正在加载视图状态的控制树必须与在上一个请求期间用于保存视图状态的控制树匹配.例如,在动态添加控件时,在回发期间添加的控件必须与初始请求期间添加的控件的类型和位置相匹配.

这是其他信息:

  • 我正在运行.NET 4.5 RC
  • 这是一个基于Umbraco 4.7的网站
  • 在我的本地开发机器上,表单完美无缺
  • 此错误仅发生在具有.NET 4.5(仅),MSSQL 2012 Express,IIS 7.5,Windows 7的登台服务器上(我知道,它不是真正的服务器,有一天可能......)
  • 服务器不是网络农场(或花园,应该是不成功的)的一部分
  • 用户控件确实动态呈现控件

我已经应用了所有最新的服务包.我现在已经没想完了!我甚至重新启动了它,并且还在服务器上执行了一个涉及歌曲和特殊舞蹈的富人无济于事.

nun*_*cal 22

在动态添加控件时,重要的是添加控件的事件.

如果您对加载后发生的事件添加了控件,它们将成为您发送给客户端的视图状态的一部分.

LoadViewState调用之前,您必须再次添加这些控件.

如果您遇到决定添加哪个控件本身存储在控件ViewState的值或控件的值的情况下,那么记住甚至在ViewState加载之前,这些数据可用于Request.Params

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

页面生命周期

  • 是的,我看到了问题,你们都在使用WebForms! (2认同)

Hoo*_*man 21

我刚刚添加EnableViewState="false"到我的页面占位符,它已经消失了.希望它对你也有用.

  • 我也收到了这个错误,我的页面有gridview和gridview的`EnableViewState ="False"`问题解决了. (2认同)

kri*_*son 1

好吧,答案就是字面上的意思:“使用与上一个服务器相同的软件设置一台新服务器,然后重试”,现在它可以工作了。

  • 您应该用您的发现更新问题 - 并接受答案,因为这里仍然有活动:-) (2认同)