我遇到以下情况。一个带有一个ascx的aspx页面,其中包含一个复选框。
在aspx页面,我有EnableViewState = true和ViewStateMode=disabled
。然后,对于需要查看状态的每个控件,我覆盖了ViewStateMode=Enabled
。
ascx也在aspx页面的声明中启用了ViewStateMode,但也在ascx页面的标题中启用了。复选框也设置了它。
如果点击它,它就不会触发selected_changed
事件。它回发了,因为它有Auto-postback=true
但不会触发事件。
如果在主aspx页面中我设置ViewStateMode
启用它可以工作。但我无法理解为什么它不会覆盖它......
答案 0 :(得分:1)
好吧,我看一下MSDN文档中的Control.ViewStateMode Property。
请注意:
仅当EnableViewState属性设置为true 时,页面或控件的ViewStateMode属性才有效。如果EnableViewState属性设置为false,即使ViewStateMode属性设置为Enabled,也将关闭视图状态。
处理ViewState的正确方法是:
答案 1 :(得分:0)
确保您正在开启/关闭您的视图状态 - > Init或InitComplete。