Странное поведение в ASP.net относительно WebControl vs UserControl ViewState - PullRequest
1 голос
/ 16 марта 2011

Хорошо, я решил свою проблему, но я не знаю, почему один тип управления работает, а другой нет.

Сценарий: Я работаю над пользовательским дизайном страницы стиля мастера, который изначально был полностью сделан с 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 работает?

...