Я преобразовал форму, полностью управляемую ASP.NET, в почти всю архитектуру на основе AJAX, за исключением того, что она пока не передает данные с помощью вызова AJAX. Это делает полный постбэк. А поскольку представления кнопок по-прежнему связаны с таким большим количеством функций (это глобальный пользовательский элемент управления с несколькими кнопками), я решил пока не преобразовывать их в AJAX.
Каждый фрагмент данных отправляется в порядке, за исключением одного варианта использования. Это раскрывающийся список, который зависит от другого раскрывающегося списка. Так что теперь, когда значение выпадающего меню 1 изменяется конечным пользователем, выпадающий список 2 перестраивается из вызовов AJAX (JavaScript). Обратите внимание, что параметры выпадающего списка 1 НИКОГДА не меняются в течение срока службы приложения. Когда форма отправляется после этого рабочего процесса, мы теряем значение раскрывающегося списка 2. Надеюсь, это имеет смысл. Если выпадающий список 1 не изменяется, выпадающий список 2 по-прежнему имеет те же параметры, что и при создании формы в коде, поэтому значение в состоянии просмотра можно найти при его публикации.
Прямо сейчас, у меня есть скрытое поле для отслеживания того значения, которое было выбрано и на данный момент работает нормально, но немного неуклюже. До того, как я выполнил эту разработку, в обоих выпадающих списках был включен атрибут AutoPostback. Это привело к повторной отправке формы без отправки формы, просто чтобы можно было восстановить выпадающие списки.
Есть ли лучший подход к этой проблеме, не заставляя кнопку выполнить вызов AJAX для отправки данных?