Я устанавливаю CurrentMode FormView для вставки режима, используя метод ChangeMode в событии Page_Load, например:
if(!Page.IsPostBack)
{
MyFormView.ChangeMode(FormViewMode.Insert);
}
В шаблоне вставки моего FormView у меня есть элемент управления DropDownList с его свойством AutoPostBack, установленным в true. У меня также есть несколько других элементов управления DropDownList и TextBox в шаблоне вставки.
Всякий раз, когда я меняю выбор DropDownList и происходит обратная передача, я теряю все значения, введенные в элементы управления. Странно то, что если я использую ChangeMode, чтобы установить FormView для режима вставки в любое время после начальной загрузки страницы, у меня нет проблем. Я прошел по коду с помощью отладчика, и все, кажется, происходит правильно, но через некоторое время после запуска моего обработчика событий для DropDownList все кажется сброшенным.
Что здесь происходит?
Обновление:
Я заметил, что мой FormView был внутри тега div с runat = "server" и enableviewstate = "false". Как только я включил viewstate для контейнера div, я начал видеть немного другое поведение. FormView по-прежнему не сохраняет значения после первой обратной передачи, но теперь последующие обратные передачи работают нормально, и значения сохраняются.
Любые идеи будут с благодарностью.