2009-04-21 2 views
2

Глядя на новую структуру ASP.NET MVC, она поставляется с файлами javascript для ASP.NET AJAX и JQuery.Различия JQuery и ASP.NET AJAX в MVC

Может кто-нибудь объяснить, что ASP.NET AJAX дает мне, что JQuery нет?

Должен ли я использовать оба варианта, и вы можете дать мне примеры, где мне бы или не нужно было использовать оба варианта?

Я использовал JQuery для множества проектов без ASP.NET (сайты PHP и прототипов) и использовал JQuery Ajax довольно счастливо, но я не уверен, что лучше всего использовать для ASP.NET.

Спасибо за ваше время Sniffer

+1

Хотя этот вопрос немного старый, это может быть актуальным. «Microsoft бросает свой вес на jQuery и делает его основным способом разработки клиентских приложений Ajax с использованием технологий Microsoft». http://stephenwalther.com/blog/archive/2010/03/16/microsoft-jquery-and-templating.aspx – R0MANARMY

ответ

2

Я недавно писал ASP.NET MVC страницы без Microsoft AJAX. Выводы? Вам нужно сделать немного больше проводки, чтобы заставить его работать, особенно с коммуникациями на стороне сервера (совет: используйте JSON.NET, а не встроенный материал), но он значительно короче и читабельнее. Я больше не буду использовать Microsoft AJAX.

ASP.NET AJAX дает вам:

  1. кучу элементов управления ASP.NET, которые обеспечивают функциональные возможности AJAX. Это больно использовать и даже более болезненно писать. Расширения jQuery намного чище, но имеют более крутую кривую обучения для программиста ASP.NET.
  2. Возможность автоматического генерации классов, выполняющих вызовы AJAX. Это действительно здорово, но вы можете жить без него.
  3. Пространство имен и модель событий, которые вам не понадобятся, если вы программируете стиль jQuery.
  4. Возможность делать частичные визуализации страниц. Только полезно, если вы не используете MVC, и редко рекомендуется даже тогда.

Заключение: используйте jQuery, удалите Microsoft AJAX.

1

Разница во мнении тогда (!), Но спасибо за отзыв.

Для информации, я нашел эту ветку, которая более подробно отвечает на мои вопросы.

jQuery vs MicrosoftAjax in ASP.NET MVC

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

Еще раз спасибо Sniffer

+0

И еще один поток, который идет в пользу jQuery: http://stackoverflow.com/questions/ 794678/Что-точка-оф-Asp-нетто-Ajax-в-Asp-нетто-MVC – Sniffer

0

Я использую JQuery для извлечения данных JSON и Microsoft AJAX для размещения форм. Вы можете сделать оба с JQuery, но мне не очень нравится сериализация формы самостоятельно. В конце концов Microsoft AJAX довольно приличная - если вам нужно написать меньше кода JavaScript, это меньше кода, который вам нужно поддерживать.

Итак, чтобы ответить на ваш вопрос - Microsoft AJAX действительно не добавляет ничего, что JQuery не имеет. Он просто позволяет вам использовать помощники, которые переходят на практически такой же код JavaScript, который вы можете написать с помощью JQuery. Как я уже сказал, меньше кода JavaScript, который вы пишете, - это меньше кода, который вам нужно поддерживать.

Нет реальных примеров того, где вы должны или не должны использовать тот или иной вариант - это сводится к личным предпочтениям ИМО.

0

Asp.Net AJAX был разработан для Asp.Net WebForms, а не MVC. Он был разработан, чтобы делать много вещей, которые уже сделал jQuery. Прежде чем MS согласилась с тем, что объединение jQuery с Asp.Net MVC было хорошей идеей, Asp.Net AJAX был всем, что у них было.

Asp.Net AJAX пытается воспроизвести часть серверной среды в браузере клиента - вы можете увидеть это с помощью пространств имен JS, подобных MS. Он был разработан для WebForms, когда все было основано на модели обратной связи.

Парадигма MVC пытается отделить и упростить аспекты веб-разработки, честно говоря, как работает HTTP. Asp.Net AJAX действительно не подходит в этом пространстве из-за того, насколько сильно он был разработан с помощью WebForms. Точно так же, как вы можете hack получить элементы управления WebForms для работы в MVC (потому что он все еще построен на ядре ASP.NET), вы также можете заставить Asp.Net AJAX работать в MVC, но реальная точка:

jQuery и MVC (по дизайну и определению) предназначены для друг друга.

(надеюсь, что мой ответ не слишком субъективен: D)