OnPreInit - то, где динамические элементы управления должны быть созданы / воссозданы.

я довольно сложная страница, которая динамически создает пользовательские элементы управления внутри повторителя. Этот повторитель должен быть привязан во время события инициализации страницы доViewState инициализируется или динамически созданные пользовательские элементы управления не будут сохранять свое состояние.

Это создает интересный Catch-22, потому что объект, с которым я связываю повторитель, должен быть создан при начальной загрузке страницы, а затем сохранен в памяти, пока пользователь не решит покинуть или сохранить.

Потому что я не могу использоватьViewState чтобы сохранить этот объект, но иметь его во время инициализации, я был вынужден сохранить его в сеансе.

Это также имеет проблемы, потому что я должен явно обнулить значение сеанса во время не обратных передач, чтобы эмулировать, какViewState работает.

В этом сценарии должен быть лучший способ заявить о себе. Есть идеи?

Редактировать: Несколько хороших советов по использованиюLoadViewState, но у меня все еще есть проблемы с состоянием, которое не восстанавливается, когда я это делаю.

Вот несколько, если структура страницы

Страница -> UserControl -> Repeater -> N количество пользовательских контролей, динамически создаваемых.

Я поставил переопределенныйLoadViewState в родительскомUserControl, так как он предназначен для полной инкапсуляции и не зависит от страницы, на которой он находится. Мне интересно, в этом ли проблема?

Ответы на вопрос(4)

Ваш ответ на вопрос