Любые недостатки использования ASP.Net AJAX и JQuery вместе - PullRequest
12 голосов
/ 15 сентября 2008

Мы планируем использовать библиотеку jQuery для расширения наших потребностей JavaScript на стороне клиента.

Существуют ли серьезные проблемы при попытке использовать как ASP.Net AJAX, так и jQuery? Кажется, что обе библиотеки используют $ для специальных целей. Есть ли конфликты, о которых нам нужно знать?

Мы также используем элементы управления Telerik, которые используют ASP.Net AJAX.

ТИА

Ответы [ 9 ]

9 голосов
/ 15 сентября 2008

Мы использовали компоненты ASP.NET Ajax, jQuery и Telerik в большом проекте в течение достаточно долгого времени и не имели никаких проблем

Я бы определенно рекомендовал использовать jQuery

5 голосов
/ 15 сентября 2008

jQuery имеет метод noConflict () как часть ядра, но затем он требует, чтобы вы использовали jQuery в качестве названной функции или что-то другое по вашему выбору (вместо селектора доллара). Однако я скажу, что метод часто зависит от реализации «конкурирующей» библиотеки. Я пытался использовать его для социальной сети Ning (которая использовала Dojo), и для Magento (которая использует Prototype), и я не мог заставить их играть правильно с jQuery. Это только мой личный опыт, и другие были очень успешными.

http://docs.jquery.com/Core/jQuery.noConflict

3 голосов
/ 16 сентября 2008

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

Например, ATLAS CTP (бета-версия, которая стала ASP.NET Atlas) раньше имела функцию $ (), но была удалена и заменена на $ get ().

2 голосов
/ 17 сентября 2008

Для чего бы то ни было, нет конфликта между функцией $ jQuery и функциями ярлыков с префиксом $ ASP.NET AJAX ($ get, $ find, $ create и т. Д.). Так же, как использование переменной f не мешает вам использовать переменную с именем f oo.

jQuery и ASP.NET AJAX хорошо работают вместе в большинстве случаев. В прошлом году единственный раз, когда я видел ASP.NET AJAX break код jQuery, был этот сценарий с jDrawer . Хотя обходной путь был неплохим.

2 голосов
/ 16 сентября 2008

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

<asp:panel id="panel1" runat="server"></asp:panel>

Может отображаться на странице как:

<div id="ctl00$panel1"></div>

Так что если вы напишите jQuery с использованием $('#panel1') в качестве селектора, это не сработает. Обходной путь - динамически генерировать идентификатор, например:

 Dim js as String = "$('" & panel1.ClientID & "').whatever();"

Это может сделать JavaScript немного нечитаемым, но он работает довольно хорошо. Я работаю над большим веб-приложением, используя этот метод, и jQuery сэкономил нам ТОНУ времени, не говоря уже о том, что сайт выглядит и работает намного лучше.

1 голос
/ 15 февраля 2009

Я использовал jQuery с ASP.NET Ajax, так как они хорошо выполняют разные задачи. У меня никогда не было проблем с использованием двух вместе. На самом деле, я обошёл странную путаницу в ASP.NET с помощью сверхмощных селекторов jQuery. Возможность выбирать классы и подэлементы элементов (в основном CSS) делает его очень простым в использовании.

1 голос
/ 23 ноября 2008

Очевидно, Telerik начал добавлять jQuery в некоторые из своих RadControls, начиная с выпуска Q3.

Я использую и jQuery, и RadControls, но у меня не было времени, чтобы заглянуть дальше в эту запутанность ... может качаться в обе стороны ...
У меня есть всеобщее мнение, что это влечет за собой больше кластера ***, но это только на основе общего опыта с некоторыми из этого и немного с этим; -)

Посмотрите блог Атанаса Корчева в Telerik только на эту тему:
http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_and_jQuery.aspx

и удачи всем нам, когда MS, jQuery, Telerik, JP Morgan и McDonalds смешиваются и толкаются на наших рабочих столах ...; -)

1 голос
/ 30 сентября 2008

Недавняя разработка, связанная с этим вопросом:

Скотт Гатри опубликовал 28 сентября 2008 г. (см .: http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx), что Microsoft фактически начнет поставку JQuery с Visual Studio . Проекты MVC будут включать библиотеку по умолчанию. Скотт указывает, что это делается с согласия и при поддержке команды JQuery.

См. Исходное сообщение для полная информация .

1 голос
/ 16 сентября 2008

Я использую ext, который является еще одним javascript-фреймворком с .net. Это гораздо проще в использовании, чем устаревшие элементы управления HTML-форм

<input type="text" id="whatever" />

Чем использовать элементы управления ASP.net. Возможно, вы захотите использовать классную валидацию форм Javascript Framework, в отличие от не очень хороших встроенных валидаторов .net, но я думаю, что это ваше предпочтение

Если вы хотите продолжать использовать элементы управления .net, помните, что идентификатор, сгенерированный в разметке, отличается от того, что вы определяете, поэтому, если вы хотите сослаться на элемент управления по идентификатору в JS, используйте:

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