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

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

Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example,when adding controls dynamically,the controls added during a post-back must match the type and position of the controls added during the initial request.

这是附加信息:

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

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

解决方法

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

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

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

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

参考asp.net page life cycle

相关文章

判断URL文件是不是在于在。private static bool UrlIsExist(...
由于在.net中,Request时出现有HTML或Javascript等字符串时,...
public static bool ProcessIdCard(this string idCard, out...
protected void Page_Load(object sender, EventArgs e){ Sc...