2013-10-08 6 views

ответ

1

Код за работает на сервере. HTML-код и Javascript запускаются в браузере.

Выпадающий список - это элемент HTML, который запускается в браузере. Он не может ничего делать на сервере, не отправляя данные обратно на сервер. Средства, с помощью которых веб-формы ASPX отправляют данные на сервер, - это обратная передача.

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

0

Альтернативой может быть только вызов javascript (на клиенте) в отличие от совершения двусторонней поездки на сервер (обратная передача).

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

1

Нет, это не должно происходить в любом случае.

asp:DropDownList - это элемент управления, который генерирует один раскрывающийся список. Это отображается как тег select клиенту. A select тег, как правило, существует до , собирает, вводимый пользователем, а не для отправки формы.

Форсирование AutoPostBack="true" необходимо, потому что тогда вы вызываете обратную связь при каждом изменении выбранного индекса. Хотя это может быть полезно, это не ожидаемое поведение тега select, и большинство разработчиков не захотят этого действия ... по соображениям производительности ... или если оно является частью более крупной формы, оно будет прерывание потока пользователей ... и т. д.

+0

И вот почему я задал вопрос. Если выпадающий список вызывает какое-то поведение, то не должно ли это «поведение» по умолчанию быть на сервере? Это то, что ASPX developmentement - это все, о чем я подумал бы - интерфейсы на стороне клиента с процессами codebehind (в конце концов, технология клиентского сервера). – Fandango68

+1

Поведение 'select' заключается в том, чтобы позволить клиенту выбрать что-либо, а не для обратной передачи. Удобство при переносе с этой настройкой легко. Как только вы лучше познакомитесь с javascript и AJAX, скорее всего, вы не будете использовать этот параметр. – MikeSmithDev

Смежные вопросы