0

我有一个动态加载用户控件的 aspx 页面:有一个 UpdatePanel 保存这些控件(每次一个)。当我用另一个控件更改控件时,它会失败并显示以下消息:

无法加载视图状态。正在加载视图状态的控制树必须与在前一个应用程序期间用于保存视图状态的控制树匹配。例如,动态添加控件时,返回期间添加的控件必须与初始应用期间添加的控件的类型和位置相匹配。

所有三个控件都继承自System.Web.UI.UserControl. 也许我可以解决这个问题:

  1. 在开始时加载三个控件,然后根据需要隐藏其中两个。
  2. 使用三个 UpdatePanel,每个用户控件一个。
  3. 有什么建议吗?
4

2 回答 2

0

通过将回发模式设置为有条件并手动更新它们,确保回发不会更新不需要的面板。

于 2010-01-25T13:38:21.883 回答
0

当您动态添加用户控件时,您是否分配了 id 属性?您是否在回发时再次添加控件,将 id 属性设置为相同的值?

于 2010-01-25T16:37:26.037 回答