Ajax-вызов или UpdatePanel? - PullRequest
       7

Ajax-вызов или UpdatePanel?

2 голосов
/ 01 октября 2009

В веб-приложении, которое мы разрабатываем, есть время, когда пользователь совершает поиск, предоставляя некоторые параметры (это система резервирования, поэтому «параметры» = 2 даты).

Скрытая таблица (или, лучше, пустая) затем заполняется результатами запроса.

Теперь возникает моя проблема: лучше ли сделать AJAX-вызов WebMethod или просто нажать кнопку «Поиск» внутри UpdatePanel и обновить его на стороне сервера?

В этом сообщении , Encosia указывает, что все в панели обновляется каждый раз, когда выполняется асинхронная обратная передача.

Итак, учитывая тот факт, что это приложение должно быть максимально быстрым и должно использовать наименьшую пропускную способность, я выбрал подход AJAX.
Таким образом, я уменьшил его с 40-60 КБ до ~ 1 КБ (МАКС!) При каждом поиске.

Выполнение: «Нажатие кнопки поиска» -> Ajax-вызов WebMethod -> Чтение результатов в формате JSON и вставка HTML-кода JQuery внутри таблицы.

Тем не менее, есть некоторые проблемы с этим подходом, с большим трудом поддерживать код (производительность на стороне клиента не является большой проблемой, для построения таблицы требуется ~ 12 мс).

Ответы [ 2 ]

3 голосов
/ 01 октября 2009

Не думаю, что вижу здесь вопрос.

UpdatePanel очень прост в использовании / злоупотреблении / обслуживании, но эффективно отправляет всю страницу обратно асинхронно.

AJAX может быть немного сложнее поддерживать / включает в себя больше кода настройки / шаблона, но отправляет и получает меньше данных и, следовательно, использует меньшую пропускную способность. Он должен быть более производительным, чем UpdatePanels, но его значимость зависит от ряда различных факторов (количество элементов управления, размер страницы, размер ViewState и т. Д.).

Выбор - это то, что лучше всего соответствует вашей ситуации. Каковы приоритетные функции приложения? Если производительность / пропускная способность выше обслуживания, выберите AJAX. Если поддержка и скорость разработки важны, возможно, выбор - UpdatePanel. Если это приложение для интрасети, я бы меньше беспокоился об использовании UpdatePanels.

1 голос
/ 01 октября 2009

Если у вас есть выбор, используйте PageMethods с jQuery . Вы будете намного счастливее в долгосрочной перспективе. UpdatePanel станет лучше с ASP.NET 4.0, но все равно уступает jQuery и PageMethods.

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