У меня никогда не было особой необходимости в пользовательских элементах управления до недавнего времени. Причина слишком длинная и выходит за рамки этой темы.
Я скажу, что пользовательские элементы управления должны загружаться динамически. Переменная для загрузки пользовательских элементов управления хранится в свойстве пользовательского серверного элемента управления, которое, конечно же, находится в ViewState.
Моя проблема, как выразились многие другие разработчики, заключается в том, что UserControl не будет сохранять ViewState! Все лучшие мнения говорят о загрузке UserContol на этапе инициализации жизненного цикла страницы.
Но если я загружаю UserControl из ViewState CustomServerControl, я не могу сделать это на этапе инициализации, поскольку ViewState не был инициализирован.
Что сводит меня с ума, так это то, что Asp Framwork направляет события (нажатия кнопок и т. Д.) В UserControl, но он недостаточно умен для загрузки ViewState.
Может быть, это просто напыщенная речь, но я бы хотел найти ответ на этот простой вопрос:
"Почему UserControl не может сохранить ViewState, КАК ЛЮБОЙ ДРУГОЙ WebControl, когда требуется загрузка на этапе Page_Load?"