直到最近,我才对 UserControls 有太多需求。原因太长了,超出了这个线程的范围。
我会说用户控件必须动态加载。加载 UserControls 的变量存储在自定义服务器控件的属性中,该属性当然位于 ViewState 中。
正如许多其他开发人员所表达的那样,我的问题是 UserControl 不会保留 ViewState!所有最好的意见都说在页面生命周期的 Init 阶段加载 UserContol。但是,如果我从 CustomServerControl 的 ViewState 加载 UserControl,我无法在 Init 阶段执行此操作,因为 ViewState 尚未初始化。
让我抓狂的是,Asp 框架会将事件(按钮点击等)路由到 UserControl,但它不够聪明,无法加载 ViewState。
也许这只是一个咆哮,但我希望我能找到这个简单问题的答案:
“在 Page_Load 阶段需要加载时,为什么 UserControl 不能像任何其他 WebControl 一样保留 ViewState?”