Question

Nous prévoyons d’utiliser la bibliothèque jQuery pour augmenter nos besoins en JavaScript côté client.

Existe-t-il des problèmes majeurs lorsqu’on essaie d’utiliser ASP.Net AJAX et jQuery? Les deux bibliothèques semblent utiliser $ à des fins spéciales. Y a-t-il des conflits dont nous devons être conscients?

Nous utilisons également les contrôles Telerik utilisant ASP.Net AJAX.

TIA

Était-ce utile?

La solution

Nous utilisons les composants ASP.NET Ajax, jQuery et Telerik sur un projet volumineux depuis un certain temps et nous n’avons eu aucun problème

Je recommanderais vivement d'utiliser jQuery

Autres conseils

jQuery a une méthode noConflict () faisant partie du noyau, mais elle nécessite ensuite que vous utilisiez jQuery comme fonction nommée ou quelque chose de votre choix (au lieu du sélecteur de dollar). Cependant, je dirai que la méthode dépend souvent de la mise en oeuvre du processus "concurrent". bibliothèque. J'ai essayé de l'utiliser pour un réseau social Ning (qui utilisait Dojo) et pour Magento (qui utilise Prototype), et je ne pouvais pas non plus jouer correctement avec jQuery. C’est juste mon expérience personnelle, et d’autres ont très bien réussi.

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

Les développeurs d’ASP.NET Ajax ont pris des mesures spécifiques pour s’assurer que la bibliothèque pouvait être utilisée avec jQuery.

Par exemple, ATLAS CTP (la version bêta qui est devenue ASP.NET Atlas) avait auparavant une fonction $ (), mais celle-ci a été supprimée et remplacée par $ get ().

Un inconvénient est que les contrôles côté serveur peuvent être renommés, en fonction de leurs conteneurs. Par exemple, vous pourriez avoir:

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

Ceci peut être rendu sur la page en tant que:

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

Donc, si vous écrivez jQuery en utilisant $ ('# panel1') comme sélecteur, cela ne fonctionnera pas. La solution consiste à générer l'identifiant de manière dynamique, par exemple:

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

Cela peut rendre le javascript un peu illisible, mais cela fonctionne assez bien. Je travaille sur une grande application Web en utilisant cette méthode, et jQuery nous a fait gagner un TON de temps, sans oublier de donner au site un aspect et un fonctionnement bien meilleurs.

Pour ce que cela vaut, il n'y a pas de conflit entre la fonction $ de jQuery et les fonctions de raccourci préfixées $ d'ASP.NET AJAX ($ get, $ find, $ create, etc.). De même que l’utilisation d’une variable f ne vous empêche pas d’utiliser une variable nommée f oo.

jQuery et ASP.NET AJAX fonctionnent bien ensemble dans la majorité des cas. Au cours de la dernière année, la seule fois que j'ai vu le code jQuery ASP.NET AJAX break était ce scénario avec jDrawer . La solution de contournement n'était pas mauvaise cependant.

J'utilise ext, qui est un autre framework javascript avec .net. Il est beaucoup plus facile à utiliser que les contrôles de formulaire HTML à l’ancienne

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

Que d'utiliser les contrôles de formulaire ASP.net. Vous voudrez probablement utiliser la validation de formulaire pour le framework javascript, plutôt que les validateurs .net pas si géniaux, mais je suppose que cela dépend de vos préférences

Si vous souhaitez continuer à utiliser les contrôles .net, n'oubliez pas que l'ID généré dans le balisage est différent de ce que vous définissez. Par conséquent, si vous souhaitez référencer un contrôle par ID dans JS, utilisez:

<%=MyControlId.ClientID%>

Un développement récent lié à cette question:

Scott Guthrie posté le 28 septembre 2008 (voir: http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx ) que Microsoft va réellement commencer à envoyer JQuery avec Visual Studio . Les projets MVC incluront la bibliothèque par défaut. Scott indique que cela se fait avec le consentement et les encouragements de l'équipe JQuery.

Voir le message original pour tous les détails .

Apparemment, Telerik a commencé à ajouter jQuery à certains de leurs contrôles radiaux, à partir de la version Q3.

J'utilise jQuery et RadControls, mais je n'ai pas eu le temps d'approfondir mes connaissances sur cet enchevêtrement ... je pourrais basculer des deux côtés ....
J'ai le sentiment que cela implique plus de clusterf ***, mais c'est basé sur l'expérience générale de ceci et d'un peu de cela; -)

Découvrez le blog d'Atanas Korchev sur Telerik sur ce sujet uniquement:
http://blogs.telerik.com/AtanasKorchev/Posts/ 08-11-06 / ASP_NET_Ajax_Controls_and_jQuery.aspx

et bonne chance à nous tous lorsque MS, JQuery, Telerik, JP Morgan et McDonalds se mêlent et se mêlent à nos ordinateurs de bureau ...; -)

J'ai utilisé jQuery avec ASP.NET Ajax, car ils font tous deux des choses bien différentes. Je n'ai jamais eu de problème à utiliser les deux ensemble. En fait, je contourne le méli-mélo d’identités ASP.NET en utilisant les très puissants sélecteurs jQuery. Le fait de pouvoir sélectionner des classes et des sous-éléments d’éléments (essentiellement CSS) facilite grandement son utilisation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top