ASP.NET - значения динамического управления и обратная передача

Я пытаюсь сохранить содержимое текстового поля с помощью обратной передачи, и я исчерпал все свои усилия, но не могу заставить его работать правильно.

Что должно произойти:

  1. Пользователь выбирает радиокнопку
  2. В зависимости от того, какая кнопка была выбрана, пользовательский элемент управления загружается, чтобы указать некоторые данные и состояние просмотра, чтобы сказать, какому типу перечисления он эквивалентен.
  3. Когда они нажимают кнопку «Сохранить», если UserControl является просто вводом текстового поля (самый простой), содержимое считывается и сохраняется, а затем сохраняется в базе данных с форматом (выбор радиокнопки), чтобы их можно было снова десериализовать позже.
  4. Страница отправляется обратно, значение и формат считываются из базы данных, затем загружается правый элемент управления.

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

У меня есть очень похожая установка в другом месте, поэтому я думаю, что это может быть мелочь, о которой я бы никогда не подумал. Там много кода, поэтому было бы проще говорить о том, что делать (загрузить динамический элемент управления, заполнить значения и т. Д.), Чем о том, как это сделать.


person Echilon    schedule 13.08.2010    source источник


Ответы (1)


На самом деле в моем исходном коде была ошибка, а это означало, что она никогда не будет такой, как я использовал модифицированную версию. По-видимому, состояние восстанавливается в Page_Load, поэтому любые элементы управления должны быть инициализированы, чтобы восстановить их значения.

Создание элемента управления в Page_PreLoad, а затем его заполнение после того, как Page_Load решила проблему.

person Echilon    schedule 13.08.2010