Используете JSON или метод обратной передачи? - PullRequest
0 голосов
/ 25 августа 2009

Мне нужно разработать страницу с выпадающим списком 2.

Параметры раскрывающегося списка 2 основаны на выборе раскрывающегося списка 1.

У меня есть 2 способа изменить выпадающий список 2. Что вы выберете?

1: Обратная передача, когда пользователи выбирают раскрывающийся список 1 и меняют раскрывающийся список 2.
Плюсы:
Можно использовать функцию обратной передачи, можно использовать валидатор asp.net
Минусы:
Нужно общаться с сервером (больше трафика)
Пользователи увидят загрузку страницы в строке состояния.

2
Получите все данные (не очень много данных) в объекте JSON при загрузке страницы и измените раскрывающийся список 2, используя javascript.
Плюсы:
Не нужно общаться с сервером (меньше трафика)
Минусы:
Невозможно использовать функцию обратной передачи и валидатор, что затрудняет написание валидации сервера.

Кроме того, я обычно пишу объект JSON на страницу следующим образом:

var locations = <asp:Literal runat="server" id="litLocation" text="[]" />

А затем установите «litLocation» в page_load после обработки данных datacontractjsonserializer. Вы делаете это таким же образом?

Ответы [ 2 ]

0 голосов
/ 25 августа 2009

Я предпочитаю второй вариант, не нужно перезагружать всю страницу только для того, чтобы обновить один выпадающий список. Я также сделал бы разработку на стороне клиента в jQuery, намного проще. Вы также можете выполнить проверку на стороне клиента для события change первого раскрывающегося списка в jQuery и сохранить проверку отправки формы в ASP.NET.

Взгляните на плагин selectChain для jQuery (демо и т. Д. здесь ).

0 голосов
/ 25 августа 2009

Почему бы не сделать так, чтобы ваш javascript вызывал сервер при нажатии на поле выбора, используя метод GET, и заполнял поле выбора, используя в качестве ответа json, затем, когда опция выбрана, заполни второй выбор ящик с другим запросом ajax.

Это было бы масштабируемым, в том случае, если вы хотите добавить больше опций, вы просто меняете сервер, и все централизовано.

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

Таким образом, нет смысла беспокоиться о проверке, пока форма не будет отправлена.

...