Любые недостатки совместного использования ASP.Net AJAX и JQuery

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

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

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

TIA

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
12
0
2 217
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

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

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

Ответ принят как подходящий

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

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

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

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

Errhhh ... Они предприняли шаги, чтобы убедиться, что ASP.NET AJAX действительно работает с прототип, поскольку в то время jQuery был "малоизвестным хобби-проектом этого парня, работающего на Mozilla" - в то время как прототип работал на 46% всех основных веб-сайтов в мире. ...;)

Thomas Hansen 24.12.2008 05:34

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

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

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

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

<%=MyControlId.ClientID%>

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

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

Это может быть отображено на странице как:

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

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

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

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

Правильно. Это то, что нужно знать об этом. В нашем веб-приложении я создал базовую страницу, которая предоставляет механизм для регистрации идентификаторов элементов управления, к которым вы хотите получить доступ на стороне клиента, и этот cln отображается как объект JS, например MyId.MYpage.ClientId

rams 16.09.2008 21:53

В некоторых ситуациях лучше использовать селектор, который находит элементы управления с идентификаторы, оканчивающиеся на [someControlId], например: $ ("[id $ = someControlId]")

MGOwen 20.10.2010 06:59

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

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

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

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

См. Исходный пост для Полная информация.

видел это. Это должно развеять любые сомнения в совместимости ASP.Net AJAX и jQuery.

rams 01.10.2008 04:55

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

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

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

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

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

Другие вопросы по теме