Преимущества и недостатки использования панелей обновления Ajax в приложении ASP.NET - PullRequest
14 голосов
/ 20 июля 2009

Каковы преимущества и недостатки использования панелей обновления Ajax в приложении ASP.NET. Существуют ли альтернативы, позволяющие избежать использования панели обновления Ajax?

Ответы [ 5 ]

22 голосов
/ 20 июля 2009

Преимущества:

  1. Простота в использовании и настройке (ну, никаких других преимуществ я не знаю!)

Недостатки:

См. здесь и здесь
Теперь самое лучшее, альтернативы :

Используйте встроенную поддержку jQuery для Ajax, чтобы делать вызовы GET / POST Ajax, это очень просто (проще сказать, чем панель обновления), и абсолютно совместимо с большинством браузеров!
Пример использования одного из многих простых способов, которые jQuery предоставляет для выполнения вызовов Ajax:

  $('#anotherContainer').load('/Home/RegularAjaxResource');

Это просто вызовет ресурс сервера (в данном случае RegularAjaxResource) и отобразит возвращенные данные в элементе пользовательского интерфейса с идентификатором anotherContainer

6 голосов
/ 20 июля 2009

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

Вы должны использовать UpdatePanel, если хотите обновить / изменить элементы управления. И по-прежнему работают в модели контроля состояния обратной связи Webforms, в частности Viewstate.

Например:

если вы явно используете JS для обновления значений элемента управления DropDownList на клиенте и используете встроенную модель обратной связи Webforms, сделанные вами изменения не будут приняты.

По сути, если вы полагаетесь на встроенные Viewstates, то вам нужно использовать UpdatePanel. Технически вы можете его не использовать, но вам действительно придется бороться с фреймворком, чтобы добиться цели.

Если вы не полагаетесь на Postbacks или Viewstates, то вам совершенно не нужна панель обновления.

3 голосов
/ 20 июля 2009

Я серьезно не могу придумать одно преимущество использования панелей обновления. Они печальны, и я нашел это нелегким путем.

Их можно использовать только для самых тривиальных эффектов ajax, и если вы собираетесь выполнять поиск данных или поиск в базе данных, у них огромные проблемы с масштабированием. UpdatePanels разочаровывают, и вскоре я поделился горем панели обновлений здесь , здесь , здесь и здесь .

Если этого недостаточно, чтобы убедить вас не использовать панель обновления, тогда ничего не получится.

1 голос
/ 09 августа 2017

Преимущества:

  1. Простота реализации
  2. Нет необходимости писать JavaScript в клиенте

Недостатки

  1. Использует большую пропускную способность, поскольку все состояния просмотра передаются
  2. Элемент, который должен запускать вызов ajax, должен находиться внутри панели обновления. Это практически невозможно все время
  3. Данные за пределами панели обновления не отправляются на сервер, который может понадобиться для дальнейшей обработки.
  4. На практике разработчик не может заранее определить, какие все данные необходимо включить в панель обновления
1 голос
/ 16 октября 2009

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

  • На странице мало элементов управления asp.net и меньше просмотра.
  • HTML-страница не слишком большая.
  • Время завершения задания ограничено.
  • Производительность не первая проблема.
  • Хотите сохранить контроль над постбэками.
  • У вас есть много событий на стороне сервера, которые вы хотите запустить.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...