Считайте, что у меня есть 2 элемента управления, C
и CompositeC
, которые содержат C
.И C
, и CompositeC
имеют ViewState.
Теперь рассмотрим третий элемент управления, вызывающий обратную передачу.
Полученный жизненный цикл будет выглядеть следующим образом:
CompositeC
пытается восстановить состояние.Для этого ему нужно создать дочерние элементы управления, поэтому он создает C
. - Когда создается
C
, его ViewState восстанавливается. - Срабатывает событие обратной передачи третьего элемента управления.В это время обработчик вызывает
CompositeC.RecreatedChildControls()
и C
создается снова. - Все отображается.
Проблема в том, что состояние C
не восстанавливается снова после шага 3. RecreateChildControls
метод должен изменить состояние элемента управления, чтобы при повторном введении C
в коллекцию элемента управления CompositeC
его представление автоматически восстанавливалось, но не выполнялось.
Что мне делать?