Какой из них лучше использовать в ASP.NET MVC?
Лично я предпочитаю jQuery по следующим причинам: -
С точки зрения того, что MS AJAX предлагает вам в MVC, он может многое сделать для вас с точки зрения предоставления вам быстрого доступа к формам и ссылкам AJAXify, но, насколько мне известно, добавляет стоимость javascript на 90 килобайт сделать это не стоит, когда эквивалентные вызовы в jQuery (например, $.get, $.post, $(element).load) относительно просты в использовании.
Лично, несмотря на поддержку 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.
Вместо рекомендации я предлагаю вам прочитать блог Dave Ward Encosia, в котором есть серия сообщений в MS Ajax/Update Panel против механизма jQuery post. Дэйв утверждает, что производительность jQuery значительно выше, чем сокращение 100K от передачи на сервер и с сервера.
JQuery - это чисто клиентская библиотека. Asp.Net Ajax включает в себя как клиентскую, так и серверную функции. ИМХО, сравнение на самом деле не справедливо. Они могут дополнять друг друга планами Microsoft.
Существует вариант ASP.NET AJAX для MVC - используется с AjaxHelper и расширениями. Это хорошо работает вместе с jQuery. У меня есть экземпляры, где я использую оба на одной странице; используя MVC AJAX для обновления DIV на основе нажатия кнопки и использования jQuery для получения данных JSON для другой операции на той же странице. Стандартные ASP.NET AJAX (UpdatePanels и т.д.) Должны использоваться в мире WebForms, а не в MVC.
Прежде всего, вы можете использовать либо, если вы говорите о Microsoft Ajax, вы имеете в виду только клиентскую библиотеку. Вы можете использовать клиентскую библиотеку MS Ajax и большинство расширителей инструментария без каких-либо элементов управления на стороне сервера. Я создал довольно большое приложение с использованием веб-форм и Microsoft Ajax, а затем преобразовал его в MVC/jquery. Я обнаружил, что я использую все меньше и меньше возможностей в библиотеке MS Ajax. Существует так много доступных с плагинами, что делает даже набор инструментов ajax устаревшим.
Если вы говорите о MS Ajax с помощью панелей обновлений и т.д., то я бы сказал "нет", вы не можете использовать их в MVC. На самом деле, не используйте их вообще! панели обновления имитируются ajax, страница по-прежнему проходит через ее жизненный цикл, почти побеждая цель использования ajax.
Еще одна альтернатива, которую вы, вероятно, можете посмотреть, - Ajax.NET, http://www.ajaxpro.info/. Я считаю это лучше, чем ASP.NET AJAX для WebForms. Он также работает под управлением MVC.
Я хотел бы упомянуть, что Microsoft поддерживает JQuery, и они будут поддерживать ее в следующих версиях Visual Studio. Для получения дополнительной информации посетите http://live.visitmix.com/. ASP.NET AJAX и jQuery не слишком много перекрываются, поэтому вы хотели бы использовать оба.
Прежде всего, было бы полезно принять во внимание, что ASP.NET MVC не поддерживает или, лучше, не имеет концепции обратной передачи.
По-прежнему можно использовать элементы управления asp.net в asp.net mvc, asp.net ajax это один из них, но, как считалось, asp.net mvc сделал, чтобы разделить проблемы (представления) и быть REST как можно ближе, поэтому, имея в виду последнюю мысль:
Извините за мой английский
Использовать ASP.NET AJAX с веб-формами и jQuery с помощью ASP.NET MVC