сохраняя выбранное значение ASP.NET DropDownList, перестроенный с помощью JavaScript - PullRequest
1 голос
/ 12 июля 2011

Я преобразовал форму, полностью управляемую ASP.NET, в почти всю архитектуру на основе AJAX, за исключением того, что она пока не передает данные с помощью вызова AJAX. Это делает полный постбэк. А поскольку представления кнопок по-прежнему связаны с таким большим количеством функций (это глобальный пользовательский элемент управления с несколькими кнопками), я решил пока не преобразовывать их в AJAX.

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

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

Есть ли лучший подход к этой проблеме, не заставляя кнопку выполнить вызов AJAX для отправки данных?

1 Ответ

1 голос
/ 12 июля 2011

Значения, манипулируемые в JavaScript, не могут быть сохранены при обратной передаче, потому что они не будут доступны на стороне сервера. Вы можете поместить выбранное значение в Hidden Field и затем получить его из скрытого поля.

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