我在Master Page
上有一组控件。我将链接(HyperLink控件)用作所有页面的集合。当我浏览页面时,我正在为当前打开的页面设置hl.Visible = False
的特定链接。我注意到这会弄乱ViewState
。我讨厌有一个已经存在的页面的链接,有没有办法在不弄乱ViewState
的情况下这样做?页面上没有动态控件。
你会用什么技巧?
答案 0 :(得分:0)
更常见的是,当页面的控件层次结构发生更改时会发生此错误,从而阻止框架加载视图状态。视图状态机制假定控制层次结构在加载时与保存时相同。
此可能看起来像一个随机错误,因为有些情况下更改页面中的控件并不会阻止加载视图状态。查看您的页面并查找动态创建/删除的控件。确保在加载视图状态之前将任何控件添加到页面(在页面加载事件之前)。
不幸的是,无法确定哪个控制层次结构中没有正确添加的有罪控件。查看此错误的常见方法是在事件上添加一些动态控件(例如,在下拉列表中选择的索引已更改) - 这样他们的状态将保存到视图状态 - 但不会在回发时再次添加它们 - 这样视图state无效,因为加载视图状态时控件不再存在。