2008-09-16 1 views
8

Я пишу веб-форму ASP.Net с некоторыми элементами управления DropDownList. Затем пользователь изменяет выбранный элемент в одном из выпадающих меню, ASP.Net, похоже, не обрабатывает событие SelectedIndexChanged, пока форма не будет отправлена ​​с нажатием кнопки «Отправить». Как сделать мои выпадающие дескрипторы SelectedIndexChanged мгновенно?DropDownList не возвращает ответ на SelectedIndexChanged

P.S. Это классический вопрос, на который я ответил слишком много раз, но, похоже, никто не спрашивал об этом раньше в stackoverflow.

ответ

23

Установка свойства AutoPostback в значение true приведет к обратной передаче при изменении выбора. Обратите внимание, что для этого требуется, чтобы javascript был включен.

+1

Также обратите внимание, что для управления должно быть включено viewstate. – LosManos 2015-07-30 22:49:22

3

Установите свойство AutoPostBack для DropDownList равным true.

10

Вам необходимо установить значение свойства AutoPostBack списка.

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

Иногда людей вылавливают путем связывания раскрывающегося списка в событии загрузки страницы, не помещая его в If Not IsPostBack. Это приведет к тому, что событие не будет срабатывать.

То же самое касается повторителей и ItemCommand событий.

4

Если вы заполняете раскрывающийся список во время загрузки страницы, то каждый раз, когда обратная передача страницы перезагружает список, это отрицает ваш метод обратной передачи. , вы должны быть уверены, что загрузите выпадающий список, только если (! Ispostback)

+0

Это должен был быть ответ, поскольку ленивая настройка AutoPostBack = "true" не всегда работает, так как это может повлиять и на другие элементы управления. Вся страница отправлена ​​назад! – Fandango68 2015-06-25 03:53:12