33 votes

ASP.NET AJAX contre jQuery dans ASP.NET MVC

Laquelle est la meilleure à utiliser dans ASP.NET MVC ?

33voto

John Foster Points 5411

Personnellement, je préfère jQuery pour les raisons suivantes :-

  1. La communauté des plug-ins est beaucoup plus variée et attire des développeurs issus d'horizons très divers (pas seulement de la pile MS). En ce qui concerne MS-AJAX, vous êtes pour l'instant limité à la boîte à outils de contrôle AJAX côté client pour vos widgets d'interface utilisateur.
  2. Je trouve l'API jQuery beaucoup plus applicable aux tâches courantes du client que celle offerte par MS AJAX.
  3. Étant donné l'absence de WebForms dans MVC, vous avez parfois besoin d'un contrôle ferme sur le DOM pour faire certaines choses, le moteur de sélection CSS offert par jQuery vous aide vraiment à le faire.

En termes de ce que MS AJAX vous offre dans MVC, il peut faire beaucoup pour vous en vous donnant un moyen rapide de "AJAXifier" des formulaires et des liens, mais en ce qui me concerne, ajouter 90kb de javascript pour faire cela ne vaut pas vraiment la peine quand les appels équivalents dans jQuery (par exemple $.get, $.post, $(element).load) sont relativement faciles à utiliser.

18voto

Steve Willcock Points 11859

Personnellement, malgré la prise en charge de HtmlHelper pour ASP.NET Ajax, je trouve que jQuery ajax, en conjonction avec la fonction Plugin JQuery forms pour être la meilleure façon de faire des affichages de formulaire ajax dans ASP.NET MVC.

par exemple, avec un appel jquery sur une page html de liste de produits avec un formulaire pour chaque produit permettant d'ajouter l'article à un panier, une seule ligne de code jquery peut "ajaxifier" tous les formulaires de la page.

$(".productListItem form").ajaxForm({ target: '#extraInfoSection' });

combiné à une simple propriété "IsAjaxRequest" sur une classe de base du contrôleur qui vérifie les en-têtes :

Request.Headers["X-Requested-With"] == "XMLHttpRequest"

et une certaine logique dans le contrôleur pour renvoyer le bon type de réponse :

return IsAjaxRequest ? (ActionResult) View("BasketPartial", basket) : new RedirectBackToReferrerActionResult();

vous avez un formulaire qui fonctionne même si le javascript est désactivé et qu'aucun ASP.NET Ajax n'est impliqué.

9voto

David Robbins Points 6773

Au lieu de faire une recommandation, je vous suggère de lire le blog de Dave Ward. Encosia qui a une série de posts sur le mécanisme de post de MS Ajax/ Update Panel vs. jQuery. Dave soutient que les performances de jQuery sont largement supérieures car il supprime environ 100K de la transmission vers et depuis le serveur .

5voto

Charlie Points 347

JQuery est une bibliothèque purement côté client. Asp.Net Ajax comprend à la fois des fonctionnalités côté client et côté serveur. IMHO, la comparaison n'est pas vraiment juste. Ils pourraient se compléter l'un l'autre si l'on en croit les plans de Microsoft.

2voto

tvanfosson Points 268301

Il existe une variante de ASP.NET AJAX pour MVC -- utilisée avec le AjaxHelper et les extensions. Cela fonctionne bien de concert avec jQuery. Dans certains cas, j'utilise les deux sur la même page ; en utilisant MVC AJAX pour mettre à jour un DIV en cliquant sur un bouton et en utilisant jQuery pour obtenir des données JSON pour une opération différente sur la même page. L'AJAX standard d'ASP.NET (UpdatePanels, etc.) devrait être utilisé dans le monde des WebForms, pas dans MVC.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X