Подтвердить что ты не робот

ASP.NET AJAX vs jQuery в ASP.NET MVC

Какой из них лучше использовать в ASP.NET MVC?

4b9b3361

Ответ 1

Лично я предпочитаю jQuery по следующим причинам: -

  • Сообщество плагинов гораздо более разнообразно и привлекает разработчиков из широкого спектра фоновых рисунков (а не только для MS-стека). Для MS-AJAX вы в значительной степени ограничены клиентским набором инструментов управления AJAX для ваших виджетов пользовательского интерфейса на данный момент.
  • Я нахожу, что jQuery API гораздо более применимы для обычных клиентов, чем те, которые предлагает MS AJAX
  • Учитывая отсутствие дыма и зеркал WebForms, происходящих в MVC, вам иногда необходим жесткий контроль над DOM, чтобы делать определенные вещи, механизм селектора CSS, предлагаемый jQuery, действительно помогает вам в этом.

С точки зрения того, что MS AJAX предлагает вам в MVC, он может многое сделать для вас с точки зрения предоставления вам быстрого доступа к формам и ссылкам AJAXify, но, насколько мне известно, добавляет стоимость javascript на 90 килобайт сделать это не стоит, когда эквивалентные вызовы в jQuery (например, $.get, $.post, $(element).load) относительно просты в использовании.

Ответ 2

Лично, несмотря на поддержку HtmlHelper для ASP.NET Ajax, я нахожу jQuery ajax в сочетании с плагин форм JQuery, который будет самым приятным способ делать сообщения ajax формы в ASP.NET MVC.

например. с вызовом jquery на странице списка продуктов html с формой для каждого продукта, позволяющей добавлять элемент в корзину, одна строка кода jquery может "ajaxify" всех форм на странице

$(".productListItem form").ajaxForm({ target: '#extraInfoSection' });

в сочетании с простым свойством IsAjaxRequest в базовом классе контроллера, который проверяет заголовки:

Request.Headers["X-Requested-With"] == "XMLHttpRequest"

и некоторая логика в контроллере для возврата правильного типа ответа:

return IsAjaxRequest ? (ActionResult) View("BasketPartial", basket) : new RedirectBackToReferrerActionResult();

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

Ответ 3

Вместо рекомендации я предлагаю вам прочитать блог Dave Ward Encosia, в котором есть серия сообщений в MS Ajax/Update Panel против механизма jQuery post. Дэйв утверждает, что производительность jQuery значительно выше, чем сокращение 100K от передачи на сервер и с сервера.

Ответ 4

JQuery - это чисто клиентская библиотека. Asp.Net Ajax включает в себя как клиентскую, так и серверную функции. ИМХО, сравнение на самом деле не справедливо. Они могут дополнять друг друга планами Microsoft.

Ответ 5

Существует вариант ASP.NET AJAX для MVC - используется с AjaxHelper и расширениями. Это хорошо работает вместе с jQuery. У меня есть экземпляры, где я использую оба на одной странице; используя MVC AJAX для обновления DIV на основе нажатия кнопки и использования jQuery для получения данных JSON для другой операции на той же странице. Стандартные ASP.NET AJAX (UpdatePanels и т.д.) Должны использоваться в мире WebForms, а не в MVC.

Ответ 6

Я хотел бы упомянуть, что Microsoft поддерживает JQuery, и они будут поддерживать ее в следующих версиях Visual Studio. Для получения дополнительной информации посетите http://live.visitmix.com/. ASP.NET AJAX и jQuery не слишком много перекрываются, поэтому вы хотели бы использовать оба.

Ответ 7

Прежде всего, было бы полезно принять во внимание, что ASP.NET MVC не поддерживает или, лучше, не имеет концепции обратной передачи.

  • asp.net ajax это на основе механизма обратной связи на стороне сервера, он предназначен для упрощения интеграции функций ajax в режиме на стороне сервера.
  • jQuery, поскольку другие фреймворки (например, Extjs) реализуют чистую клиентскую ajax

По-прежнему можно использовать элементы управления asp.net в asp.net mvc, asp.net ajax это один из них, но, как считалось, asp.net mvc сделал, чтобы разделить проблемы (представления) и быть REST как можно ближе, поэтому, имея в виду последнюю мысль:

  • Использование ASP.NET Web Forms ASP.NET AJAX это правильный выбор
  • Используя ASP.NET MVC, лучше попробовать пойти клиентом, поэтому jQuery (или другие) лучше

Извините за мой английский

Ответ 8

Использовать ASP.NET AJAX с веб-формами и jQuery с помощью ASP.NET MVC

Ответ 9

Еще одна альтернатива, которую вы, вероятно, можете посмотреть, - Ajax.NET, http://www.ajaxpro.info/. Я считаю это лучше, чем ASP.NET AJAX для WebForms. Он также работает под управлением MVC.

Ответ 10

Прежде всего, вы можете использовать либо, если вы говорите о Microsoft Ajax, вы имеете в виду только клиентскую библиотеку. Вы можете использовать клиентскую библиотеку MS Ajax и большинство расширителей инструментария без каких-либо элементов управления на стороне сервера. Я создал довольно большое приложение с использованием веб-форм и Microsoft Ajax, а затем преобразовал его в MVC/jquery. Я обнаружил, что я использую все меньше и меньше возможностей в библиотеке MS Ajax. Существует так много доступных с плагинами, что делает даже набор инструментов ajax устаревшим.

Если вы говорите о MS Ajax с помощью панелей обновлений и т.д., то я бы сказал "нет", вы не можете использовать их в MVC. На самом деле, не используйте их вообще! панели обновления имитируются ajax, страница по-прежнему проходит через ее жизненный цикл, почти побеждая цель использования ajax.