c# - 导致 "Failed to load viewstate."错误的页面主题

标签 c# asp.net asp.net-3.5

在我的 web.config 中我有以下内容:

<pages theme="myTheme" enableSessionState="true" validateRequest="false" 
enableEventValidation="false" viewStateEncryptionMode="Never" 
enableViewStateMac="false">

添加主题属性后,我立即开始收到:

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.

当我删除主题时,我不再收到 View 状态错误。任何人都可以提供正在发生的事情或如何解决它的内部信息吗?

谢谢。

最佳答案

修复者:

  1. runat="server"ID 属性添加到链接(样式表)
  2. 在母版页的 Page_Load 方法中调用 Page.Header.FindControl("link").DataBind()

不要调用 Page.Header.DataBind();,因为它将对整个 header 进行数据绑定(bind)。

关于c# - 导致 "Failed to load viewstate."错误的页面主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3886544/

相关文章:

web-services - 如何在 asp.net 中以编程方式调用 Web 服务

asp.net - 有什么方法可以防止母版页更改元素 ID?

c# - 单元测试 Parallel.Foreach C#

c# - CSS循环进度,线性秒不准?

javascript - 在 Knockout.js 中绑定(bind)函数的结果

c# - asp.net 将行从一个数据表复制到另一个

c# - 如何计算数据表的表达式

c# - 使用枚举标志满足条件后无法执行正确的操作

c# - 编程引用任何人?

visual-studio-2013 - Visual Studio 2017 RC 是否向后兼容 Visual Studio 2013 解决方案?