Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Le blog technique de Loïc Bar

Nouvelles technologies Web

Award

  • mvp

J'y serai...

Mes livres

jQuery VS ASP.NET AJAX

Il existe une multitude de Framework AJAX. Les deux que j'ai fort en vue pour le moment c'est :

Ils sont très simple d'utilisation et assez bas niveau pour être modeler à volonté. Pour cette article, je me suis basé sur une lecture que j'ai eu il y a plusieurs jours mais a laquelle j'ai du apporter des corrections.

Le cas d'étude

image

Le but de cet article est de faire une simple comparaison entre les deux Frameworks afin de déterminer :

  • Lequel est le plus simple au niveau syntaxe
  • Lequel est le moins lourd

Pour cela, nous allons déclarer des handlers d'événements sur toutes les rows d'une GridView de 200 éléments.

Mise en place du projet

Les éléments commun de notre projet sont :

  • Le GridView (à quelques détails)
  • La source de données

Notre source de données est en fait un DataObject appelé TeamDataObject :

image

Le fichier XML est très simple :

image

Quant à notre GirdView il n'a rien de particulier :

image

Les bases du projet étant maintenant terminée, nous pouvons passer à l'implémentation JavaScript.

Implémentation avec ASP.NET AJAX Framework

La première chose à faire, est d'ajouter les handlers sur les différentes lignes de notre GridView. Cela se fait à l'aide de la méthode $addHandler.

image

Cette méthode sera appelée lors du chargement de la page :

image 

On voit ici qu'on ajoute trois traitement d'événements :

  • Sur le passage de la souris
  • Sur la perte de la souris
  • Sur le clic

Nous devons donc créer trois méthodes qui traiteront ces événements.

image

Vous voyez ici utiliser isClickedStyleSet qui est une méthode qui vérifie si le classe actuel de l'objet n'est pas "row-select" :

image

Implémentation jQuery

jQuery est un autre Framework Ajax qui n'est pas édité par Microsoft. Vous pouvez trouver toutes les informations sur jQuery.com.

Le code est beaucoup plus soft et ne se fait quasiment qu'en une fois :

image

Nous avons donc exactement la même méthode mais on peut directement ajouter les événements sur les lignes sans devoir faire un foreach. Bien entendu, pour pouvoir utiliser jQuery, nous avons du ajouter une référence à un fichier JavaScript :

image

Le résultat

jQuery :

image

ASP.NET AJAX Framework :

image

Et votre avis?

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 7 août 2008 15:29 par loicbar
Classé sous : , , ,

Commentaires

Aurelien a dit :

Pour la partie MSAjax, tu peux vraiment optimiser en utilisant une syntaxe se rapprochant vraiment de jQuery.

Il faut pour cela changer un paramètre de ton web.config

<compilation debug="false">.

En effet, si tu laisse le debug à true, tu utiliseras le fichier .debug.js qui contient les validations de paramètres.

Pourquoi le désactiver me diras-tu, en fait, le retour de $get('gridview').rows via le javascript du navigateur renvoi un type "object" alors que l'on s'attendrait à un type "array". De ce fait, en travaillant avec un debug à true, tu ne peux pas utiliser Array.forEach qui simplifierai énormément ta syntaxe.

De plus, l'utilisation de $addHandlers me paraît plus intéressante que 3 * $addHandler.

Par contre, aucune idée sur le résultat en terme de taille de page !

# août 9, 2008 14:36

loicbar a dit :

Je vais tester ça et je te dis quoi!

# août 11, 2008 10:40

Promesses a dit :

Tu as testé, et tu nous dis pas quoi ?

# septembre 29, 2008 22:43
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Refactoring] ReSharper pour Visual Studio 2010 (Preview) par Thomas Jaskula le il y a 1 heure et 13 minutes

- [Refactoring] Analyser vos exceptions avec ReSharper Exceptional par Thomas Jaskula le il y a 2 heures et 27 minutes

- SharePoint 2007 : patterns & practices SharePoint Guidance par Philippe Sentenac [MVP SharePoint] le il y a 16 heures et 6 minutes

- [Visual Studio 2010] Les tests cases c’est bien, mais je vais devoir tout réécrire ? par Etienne Margraff le il y a 17 heures et 3 minutes

- MVP[Gribouillon].AddYear par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le il y a 17 heures et 18 minutes

- Clinique INSIA - Projet de fin d’Etudes (Silverlight 3 MVVM et OutOfBrowser, WCF, TFS) - Part 1 par David REI le 07-02-2009, 23:38

- C’est la crise ? Bah pourquoi cramer du budget pub alors ? par Nix's Blog le 07-02-2009, 15:31

- Soyons MVP ! par TheSaib .NET blog le 07-02-2009, 12:15

- SharePoint : Gestion des Erreurs 6398, 7076 et 6482 par Blog Technique de Romelard Fabrice le 07-02-2009, 11:53

- EF avec WPF par Matthieu MEZIL le 07-02-2009, 10:18