Vue d'ensemble d'ASP.NET AJAX

Mise à jour : novembre 2007

Les fonctionnalités AJAX dans ASP.NET vous permettent de créer rapidement des pages Web d'un grande interaction pour l'utilisateur avec des éléments d'interface utilisateur réactifs et familiers. Les fonctionnalités AJAX incluent des bibliothèques de client de script qui incorporent scripts ECMAScript (JavaScript) et des technologies Dynamic HTML (DHTML) compatibles entre navigateurs ainsi qu'une intégration avec la plateforme de développement serveur ASP.NET. En utilisant les fonctionnalités AJAX, vous pouvez améliorer l'expérience utilisateur et l'efficacité de vos applications Web.

Pourquoi utiliser des fonctionnalités ASP.NET AJAX ?

Les fonctionnalités AJAX dans ASP.NET vous permettent de générer des applications Web riches possédant de nombreux avantages sur les applications Web entièrement basées sur le serveur. Les applications AJAX possèdent les avantages suivants :

  • efficacité améliorée, les parties significatives du traitement d'une page Web sont exécutées dans le navigateur ;

  • éléments d'interface familiers, tels que des indicateurs de progression, des info-bulles et des fenêtres indépendantes ;

  • mises à jour de page partielles qui actualisent uniquement les portions modifiées de la page Web ;

  • intégration client avec les services d'application ASP.NET pour l'authentification par formulaire, les rôles et les profils utilisateur ;

  • générations automatique de classes proxy, ce qui simplifie l'appel de méthodes d'un service Web depuis un script client ;

  • infrastructure permettant de personnaliser les contrôles serveur pour inclure des fonctionnalités clientes ;

  • prise en charge des navigateurs les plus populaires, comprenant Microsoft Internet Explorer, Mozilla Firefox et Apple Safari.

Architecture des fonctionnalités AJAX dans ASP.NET

L'architecture de fonctionnalités AJAX dans ASP.NET se compose de deux parties : les bibliothèques de scripts client et les composants serveur. Ces parties sont intégrées pour offrir une infrastructure de développement fiable.

Remarque :

En plus des fonctionnalités AJAX dans ASP.NET, vous pouvez utiliser ASP.NET AJAX Control Toolkit et les fonctionnalités des versions Microsoft ASP.NET Futures, tous deux pris en charge par la communauté.

L'illustration suivante montre les fonctionnalités incluses dans les bibliothèques de script client et les composants serveur.

Architectures client et serveur ASP.NET AJAX

L'illustration montre les fonctionnalités clientes de Microsoft AJAX Library ; elles comprennent prise en charge pour la création de composants clients, la compatibilité entre navigateurs et les services de mise en réseau et principaux. L'illustration montre également les fonctionnalités serveur AJAX, elles comprennent la prise en charge de script, les services Web, les services d'application et les contrôles serveur. Les sections suivantes décrivent le contenu de cette illustration de façon approfondie.

Architecture client AJAX

L'architecture client inclut des bibliothèques pour la prise en charge de composants, la compatibilité entre navigateurs, la mise en réseau et les services principaux.

Composants

Les composants clients permettent de nombreuses fonctionnalités dans le navigateur sans publications (postback). Les composants se décomposent en trois catégories :

  • Composants, des objets non visuels qui encapsulent du code, tel qu'un objet Timer

  • Comportements, ils étendent le comportement de base d'éléments DOM existants

  • Contrôles, ils représentent un nouvel élément DOM possédant un comportement personnalisé

Le type de composant utilisé dépend du type de comportement client que vous souhaitez. Par exemple, un filigrane pour une zone de texte existante peut être créé en utilisant un comportement qui est lié cette zone de texte. Pour plus d'informations, consultez Création de composants et de contrôles clients.

Compatibilité des navigateurs

La couche de compatibilité des navigateurs permet à AJAX la compatibilité entre les navigateurs les plus fréquemment utilisés (notamment Microsoft Internet Explorer, Mozilla Firefox et Apple Safari). Cela vous permet d'écrire le même script indépendamment du navigateur cible. Pour plus d'informations, consultez Paramètres de sécurité de navigateur pour des pages ASP.NET AJAX.

Réseau

La couche réseau gère la communication entre le script dans le navigateur et les services Web et applications. Elle gère également les appels de méthode asynchrones distants. Dans de nombreux scénarios courants, tels que les mises à jour de page partielles qui utilisent le contrôle UpdatePanel, la couche de mise en réseau est utilisée automatiquement et ne nécessite pas d'écrire du code.

La couche de mise en réseau fournit également la prise en charge pour accéder à l'authentification serveur par formulaire, aux informations de rôle et aux informations de profil dans le script client. Cette prise en charge est également disponible pour les applications Web créées sans ASP.NET, tant que l'application a accès à Microsoft AJAX Library. Pour plus d'informations, consultez Services Web dans ASP.NET AJAX.

Services principaux

Dans ASP.NET, les bibliothèques de script client AJAX se composent de fichiers JavaScript (.js) qui fournissent des fonctionnalités pour un développement orienté objet. Les fonctionnalités orientées objet incluses dans les bibliothèques de script client ASP.NET AJAX permettent un niveau élevé de cohérence et de modularité du script client. Les services principaux suivants font partie de l'architecture client :

  • Les extensions orientées objet de JavaScript, telles que les classes, les espaces de noms, la gestion des événements, l'héritage, les types de données et la sérialisation d'objet.

  • Une bibliothèque de classes de base qui inclut des composants tels que les générateurs de chaînes et une gestion étendue des erreurs.

  • La prise en charge des bibliothèques JavaScript qui sont soit incorporées dans un assembly soit en tant que fichiers JavaScript (.js) autonomes. Incorporer des bibliothèques JavaScript dans un assembly peut faciliter le déploiement des applications et peut aider à résoudre des problèmes de gestion des versions.

  • Pour plus d'informations, consultez Création d'un script client personnalisé à l'aide de Microsoft AJAX Library.

Débogage et gestion des erreurs

Les services principaux incluent la classe Sys.Debug qui fournit des méthodes pour afficher des objets de manière lisible à la fin d'une page Web. La classe affiche également les messages de trace, vous permet d'utiliser des assertions et vous permet l'arrêt de l'exécution dans le débogueur. Une API étendue de l'objet Error fournit des détails d'exception utiles avec une prise en charge des modes release et debug. Pour plus d'informations, consultez Vue d'ensemble du débogage et du traçage des applications AJAX.

Globalisation

L'architecture serveur et client AJAX dans ASP.NET offre un modèle permettant de localiser et de globaliser le script client. Cela vous permet de concevoir des applications qui utilisent une base de code unique pour l'interface utilisateur utilisée dans différents environnements régionaux (langues et cultures). Par exemple, l'architecture AJAX permet au code JavaScript de mettre en forme automatiquement des objets Date ou Number d'après les paramètres de culture du navigateur de l'utilisateur, ceci sans demander de publication au serveur. Pour plus d'informations, consultez Procédure pas à pas : globalisation d'une date à l'aide d'un script client.

Architecture serveur AJAX

Les parties du serveur qui prennent en charge le développement AJAX se composent de contrôles et composants serveur Web ASP.NET qui gèrent l'interface utilisateur et le flux d'une application. Ces parties du serveur gèrent également la sérialisation, la validation, l'extensibilité des contrôles et ainsi de suite. Il y a également des services Web ASP.NET qui vous permettent d'accéder aux services d'application ASP.NET pour l'authentification par formulaire, les rôles et les profils utilisateur.

Prise en charge des scripts

Les fonctionnalités AJAX dans ASP.NET sont implémentées en utilisant des scripts de prise en charge transmis depuis le serveur au client. Selon les fonctionnalités AJAX activées, différents scripts sont envoyés au navigateur.

Vous pouvez également créer un script client personnalisé pour vos applications ASP.NET. Dans ce cas, vous pouvez également utiliser des fonctionnalités AJAX pour gérer vos scripts personnalisés comme des fichiers .js statiques (sur le disque) ou comme des fichiers .js incorporés en tant que ressources dans un assembly.

Les fonctionnalités ASP.NET AJAX incluent un modèle pour les modes release et debug. Le mode release offre une recherche des erreurs et une gestion des exceptions optimisées pour les performances, avec une taille de script réduite. Le mode debug fournit fonctionnalités de débogage plus importantes, telles que le contrôle de type et d'argument. ASP.NET exécute les versions debug lorsque l'application est en mode débogage. Cela vous permet de lever des exceptions dans les scripts de débogage en réduisant la taille de code de la version release.

La prise en charge des scripts pour AJAX dans ASP.NET est utilisée pour fournir deux fonctionnalités importantes.

Localisation

L'architecture ASP.NET AJAX repose sur la fondation du modèle de localisation d'ASP.NET 2.0. Il fournit la prise en charge supplémentaire pour des fichiers .js localisés, incorporés dans un assembly ou stockés sur disque. ASP.NET peut traiter automatiquement des scripts clients et des ressources localisés pour des langues et des régions spécifiques.

Pour plus d'informations, consultez les rubriques suivantes :

Services Web

Avec les fonctionnalités AJAX dans une page Web ASP.NET, vous pouvez utiliser le script client pour appeler à la fois des services Web ASP.NET (.asmx) et des services Windows Communication Foundation (WCF) (.svc). Les références de scripts requises sont ajoutées automatiquement à la page et elles génèrent ensuite automatiquement les classes proxy du service Web que vous utiliserez dans le script client pour appeler le service Web.

Vous pouvez également accéder aux services Web ASP.NET sans utiliser des contrôles serveur ASP.NET AJAX (par exemple, si vous utilisez un environnement de développement Web différent). Pour cela, vous pouvez inclure manuellement dans la page des références à Microsoft AJAX Library, aux fichiers de script et au service Web lui-même. Au moment de l'exécution, ASP.NET génère les classes proxy que vous pourrez utiliser pour appeler les services. Pour plus d'informations, consultez Services Web dans ASP.NET AJAX.

Services d'applications

Les services d'applications dans ASP.NET sont des services Web intégrés basés sur l'authentification par formulaire ASP.NET, les rôles et les profils utilisateur. Ces services peuvent être appelés par le script client dans une page Web AJAX, par une application cliente Windows, ou par un client compatible WCF. Pour plus d'informations et des exemples, consultez Utilisation des services Web ASP.NET.

Contrôles serveur

Les contrôles serveur ASP.NET AJAX se composent de code serveur et client qu'on intègre pour produire un comportement évolué. Lorsque vous ajoutez un contrôle AJAX à une page Web ASP.NET, la page envoie automatiquement le script de prise en charge client au navigateur pour les fonctionnalités AJAX. Vous pouvez écrire du code client supplémentaire pour personnaliser les fonctionnalités d'un contrôle, mais cela n'est pas nécessaire.

La liste suivante décrit les contrôles serveur ASP.NET AJAX les plus fréquemment utilisés.

  • ScriptManager
    Gère des ressources de script pour les composants clients, le rendu de page partielle, la localisation, la globalisation et les scripts utilisateur personnalisés. Le contrôle ScriptManager est requis pour utiliser les contrôles UpdatePanel, UpdateProgress et Timer.

  • UpdatePanel
    Vous permet d'actualiser des portions choisies de la page au lieu d'actualiser l'intégralité de la page en utilisant une publication synchrone.

  • UpdateProgress
    Fournit des informations d'état sur les mises à jour de page partielles dans les contrôles UpdatePanel.

  • Timer
    Exécute des publications à intervalles définis. Vous pouvez utiliser le contrôle Timer pour publier la page entière ou l'utiliser avec le contrôle UpdatePanel pour exécuter des mises à jour de page partielles à des intervalles définis.

Vous pouvez également créer des contrôles serveur ASP.NET personnalisés qui incluent des comportements clients AJAX. Les contrôles personnalisés qui étendent les possibilités d'autres contrôles Web ASP.NET sont appelés des contrôlesextendeurs. Pour plus d'informations, consultez Ajout de fonctionnalités AJAX à des contrôles ASP.NET et Vue d'ensemble des contrôles d'extendeur ASP.NET AJAX.

AJAX Control Toolkit

ASP.NET AJAX Control Toolkit est une collection d'exemples et de composants qui vous montrent les possibilités de création avec les contrôles et les extendeurs ASP.NET AJAX. Control Toolkit fournit des exemples et un Kit de développement logiciel puissant pour faciliter la création et la réutilisation des contrôles personnalisés et des extendeurs. Vous pouvez télécharger ASP.NET AJAX Control Toolkit à partir du site Web ASP.NET Ajax. ASP.NET AJAX Control Toolkit est pris en charge de façon communautaire.

Versions Futures prises en charge par la communauté AJAX

Les versions Futures prises en charge par la communauté ASP.NET AJAX fournissent des fonctionnalités qui étendent les capacités AJAX d'ASP.NET avec des fonctionnalités en cours de développement et non incluses dans ASP.NET. Cela inclut des contrôles d'extendeur supplémentaires, la prise en charge d'une syntaxe déclarative cliente (script xml) et plus encore. Pour télécharger et en savoir plus sur la version Futures, consultez le site Web ASP.NET AJAX.

Voir aussi

Concepts

Paramètres de sécurité de navigateur pour des pages ASP.NET AJAX

Ajout de fonctionnalités AJAX à des contrôles ASP.NET