【发布时间】:2012-08-10 12:43:56
【问题描述】:
加载视图状态失败。正在加载视图状态的控件树必须与之前请求期间用于保存视图状态的控件树匹配。
页面加载正常,直到我在页面上包含一个 asp 面板。然后我看到了上面的错误。
谁能想到可能的原因? asp 面板是空的,我刚刚创建了一个测试:
<asp:Panel runat="server" ID="pnlTest"></asp:Panel>
它坏了。
【问题讨论】:
-
你什么时候“包括”面板?
-
不确定我理解您所说的“何时”是什么意思?如果您的意思是定义的时间/地点 - 在 aspx 页面的标记上。
-
对不起,我的印象是它是以某种方式动态添加的。如果您已将页面加载到浏览器中,则 Viewstate 将无法正确加载,然后将控件添加到 aspx 页面中,然后在浏览器中发回服务器...这是因为 ASPX 中的控件不再是与创建初始页面时相同 - 这是您在做什么?
-
是的,你说得对 - 对于我所做的所有相关阅读 - 我可以看到情况就是这样。但不,这不是动态添加的。它只是在页面标记上。奇怪的是,当面板不存在时它加载正常。
-
呃,不知道我理解为什么你要这样做? ASP.NET 需要 ASPX 标记在回发中与在初始页面请求中相同。
标签: c# asp.net controls viewstate