Как принудительно восстановить ViewState после воссоздания дочерних элементов управления? - PullRequest
0 голосов
/ 21 декабря 2010

Считайте, что у меня есть 2 элемента управления, C и CompositeC, которые содержат CC, и CompositeC имеют ViewState.

Теперь рассмотрим третий элемент управления, вызывающий обратную передачу.

Полученный жизненный цикл будет выглядеть следующим образом:

  1. CompositeC пытается восстановить состояние.Для этого ему нужно создать дочерние элементы управления, поэтому он создает C.
  2. Когда создается C, его ViewState восстанавливается.
  3. Срабатывает событие обратной передачи третьего элемента управления.В это время обработчик вызывает CompositeC.RecreatedChildControls() и C создается снова.
  4. Все отображается.

Проблема в том, что состояние C не восстанавливается снова после шага 3. RecreateChildControls метод должен изменить состояние элемента управления, чтобы при повторном введении C в коллекцию элемента управления CompositeC его представление автоматически восстанавливалось, но не выполнялось.

Что мне делать?

1 Ответ

0 голосов
/ 27 декабря 2010

На самом деле я обнаружил, что это по замыслу, и это имеет смысл. ViewState предназначен для восстановления состояния после обратной передачи. Если после этого я восстановлю свои элементы управления, это не произойдет.

...