好的,我已经解决了我的问题,但我不知道为什么一种类型的控制有效而另一种无效。
场景:我正在开发一个自定义向导样式的页面设计,该设计最初完全使用UserControl
C# ASP.Net 4.0 中的 s 完成。您正在查看的步骤是通过控制可见性在服务器端控制的。
我的问题:我不喜欢UserControl
s 并希望WebControl
尽可能多地使用 s,尽管用WebControl
s 重做整个事情并不值得我努力,并且需要新的控件来扩展功能。
我最初的解决方案:我最初根据需要开始创建WebControl
s 。这工作得很好,直到我离开给定的 2 步WebControl
,它失去了它ViewState
。至少我相信这就是发生的事情。这是一个CheckBoxList
,当我离开 2 步时,它就ListItems
消失了。
最终解决方案:重新创建与UserControl
我始终可以访问CheckBoxList
Items
.
这一切似乎都合乎逻辑。如果控件或其父控件之一不可见,则它不会包含在ViewState
数据中。我想真正的问题是,为什么UserControl
有效?