Я пишу адаптер DropDownList
, чтобы добавить 2 функции к встроенному DropDownLists
, используя комбинацию следующих решений:
Это прекрасно работает, если элементы DropDownList
объявлены в разметке. Однако, когда элементы добавляются динамически, я полагаюсь на элементы, восстанавливаемые из ViewState
.
Проблема в том, что ControlAdapter.LoadAdapterViewState
вызывается ДО Control.LoadViewState
, поэтому я не могу повторно применить свои атрибуты OptionGroup/Custom к Items
, поскольку они еще не существуют.
Итак, во-первых, в чем причина такого порядка событий?
И, во-вторых, где еще в жизненном цикле я могу безопасно установить эти настраиваемые атрибуты обратно для элементов? Примечание. PreRender нельзя использовать, так как ViewState теряется, если элемент управления не работает. для отображения на странице (например, в мастере).