Хорошо, я решил свою проблему, но я не знаю, почему один тип управления работает, а другой нет.
Сценарий: Я работаю над пользовательским дизайном страницы стиля мастера, который изначально был полностью сделан с UserControl
s в C # ASP.Net 4.0. Просматриваемый шаг контролируется на стороне сервера с помощью control visibilty.
Моя проблема: Мне не нравятся UserControl
s и я хочу максимально использовать WebControl
s, хотя не стоит моих усилий переделывать всю вещь с WebControl
s, и новые элементы управления необходимы для расширения функциональности.
Мое оригинальное решение: Сначала я начал создавать WebControl
по мере необходимости. Это работало нормально, пока я не получил 2 шага от данного WebControl
, где он потерял его ViewState
. По крайней мере, я верю, что так и случилось. Это был CheckBoxList
, и как только я был в 2 шагах, ListItems
исчез.
Окончательное решение: Воссоздание того же элемента управления, что и UserControl
У меня всегда есть доступ к CheckBoxList
Items
.
Все это кажется довольно логичным. Если элемент управления или один из его родительских элементов не отображается, он не будет включен в данные ViewState
. Я предполагаю, что реальный вопрос, почему UserControl
работает?