Nouveautés dans ASP.NET et le développement Web

Mise à jour : novembre 2007

.NET Framework version 3.5 Service Pack 1 inclut des améliorations pour ASP.NET dans certains domaines ciblés. Visual Studio 2008 et Microsoft Visual Web Developer Express incluent également des améliorations et de nouvelles fonctionnalités pour un développement Web optimisé.

Parmi les avancées les plus significatives figure une prise en charge plus performante du développement de sites Web AJAX et la prise en charge de LINQ (Language Integrated Query). À noter également de nouveaux contrôles et types serveur, une nouvelle bibliothèque de types client orientée objet et une prise en charge complète d'IntelliSense dans Visual Studio 2008 et Microsoft Visual Web Developer Express pour une utilisation d'ECMAScript (JavaScript ou JScript).

Les sections suivantes de la rubrique décrivent les modifications apportées dans ASP.NET et Visual Web Developer.

  • Améliorations apportées à ASP.NET dans le Service Pack 1

  • Améliorations apportées à ASP.NET dans la version 3.5

  • Améliorations apportées à Visual Web Developer

Améliorations apportées à ASP.NET dans le Service Pack 1

Les sections suivantes fournissent des informations sur les améliorations et les nouvelles fonctionnalités de Visual Studio 2008 et Visual Web Developer Express.

données dynamiques

Dynamic Data ASP.NET est une infrastructure qui vous permet de créer facilement des applications Web ASP.NET pilotées par des données. Elle procède en découvrant automatiquement le modèle de données au moment de l'exécution et en déterminant le comportement de l'interface utilisateur à partir du modèle. Une infrastructure de génération de modèles automatique fournit instantanément un site Web fonctionnel pour l'affichage et la modification des données. Cette génération de modèles automatique peut ensuite être personnalisée facilement à l'aide de métadonnées ou de modèles, ou en créant des pages ASP.NET standard pour remplacer le comportement par défaut. Parallèlement, les applications existantes peuvent aisément intégrer des éléments de la logique de génération de modèles automatique à leurs pages Web existantes.

Routage d'URL

Le routage d'URL dans ASP.NET vous permet d'utiliser des URL qui n'ont pas besoin d'être mappées à des fichiers spécifiques dans un site Web. Puisqu'il n'est pas nécessaire que l'URL soit mappée à un fichier, vous pouvez utiliser dans une application Web des URL descriptives de l'action de l'utilisateur, qui sont donc plus facilement compréhensibles. Dans le routage d'URL, vous définissez des modèles d'URL qui contiennent des espaces réservés pour les valeurs utilisées lorsque vous gérez des demandes d'URL. Au moment de l'exécution, les éléments de l'URL qui suivent le nom de l'application sont analysés sous la forme de valeurs discrètes, selon le modèle d'URL que vous avez défini.

Contrôle EntityDataSource

Le contrôle EntityDataSource prend en charge les scénarios de liaison de données basés sur le modèle EDM (Entity Data Model). La spécification EDM représente les données sous forme de jeux d'entités et de relations. Le modèle EDM est utilisé par Entity Framework dans le mappage relationnel objet et dans d'autres scénarios tels que les services de données ADO.NET. Les utilisateurs habitués au modèle au moment du design des contrôles de liaison de données ASP.NET trouveront que la surface de programmation du contrôle EntityDataSource est semblable à celle des autres contrôles de source de données.

Le contrôle EntityDataSource gère les opérations de création, de lecture, de mise à jour et de suppression avec une source de données sur la page pour le compte de contrôles liés aux données. EntityDataSource fonctionne avec des grilles modifiables, des formulaires avec tri et filtrage contrôlés par l'utilisateur, des contrôles de liste déroulante à double liaison et des pages maître/détail. Le contrôle EntityDataSource est en mesure d'obtenir les valeurs des paramètres de requête à partir de contrôles de page, de paramètres de requête ajoutés à l'URI de la page, de cookies et d'autres objets paramètre ASP.NET.

Nouvelles extensions ASP.NET AJAX

Les nouvelles extensions pour ASP.NET AJAX dans le Service Pack 1 (SP1) vous assurent un meilleur contrôle sur l'historique du navigateur lorsque vous utilisez le bouton Précédent. Elles permettent également d'associer automatiquement plusieurs scripts clients dans un script composite. La durée de chargement des scripts est donc plus courte puisque le nombre d'allers-retours sur le serveur est considérablement réduit.

Mise en forme JScript

Les fonctions de mise en forme du code ont été étendues afin de prendre en charge JScript dans Visual Studio et Visual Web Developer Express. Vous pouvez choisir de mettre en forme le code manuellement pour un document ou une sélection, ou qu'il soit automatiquement mis en forme à mesure que vous tapez.

Améliorations apportées à ASP.NET dans la version 3.5

.NET Framework version 3.5 inclut des améliorations pour ASP.NET dans les domaines suivants :

  • Nouveaux contrôles et types serveur, associés à une bibliothèque de scripts clients pour vous permettre de développer des applications Web de type AJAX.

  • Extension de l'authentification par formulaire serveur, de la gestion des rôles et des services de profil en tant que services Web pouvant être utilisés par des applications Web.

  • Nouveau contrôle EntityDataSource qui expose le modèle EDM (Entity Data Model) via l'architecture de contrôle de source de données ASP.NET.

  • Nouveau contrôle de données ListView qui affiche des données et fournit une interface utilisateur entièrement personnalisable.

  • Nouveau contrôle LinqDataSource qui expose LINQ (Language Integrated Query) via l'architecture de contrôle de source de données ASP.NET.

  • Nouvel outil de fusion (Aspnet_merge.exe) qui fusionne des assemblys précompilés pour un déploiement et une gestion des versions flexibles. Cette fonctionnalité n'est pas disponible dans Visual Web Developer Express.

.NET Framework version 3.5 est également intégré avec IIS 7.0. Vous pouvez désormais utiliser les services ASP.NET, tels que l'authentification par formulaire et la mise en cache de tout type de contenu, pas seulement des pages Web ASP.NET (fichiers .aspx). En effet, ASP.NET et IIS 7.0 utilisent le même pipeline de demande. Le pipeline de traitement de demande unifié vous permet d'utiliser du code managé pour développer des modules de pipeline HTTP fonctionnant avec toutes les demandes dans IIS. De plus, les modules et gestionnaires IIS et ASP.NET prennent désormais en charge la configuration unifiée. Pour plus d'informations, consultez Vue d'ensemble du cycle de vie des applications ASP.NET pour IIS 7.0.

Développement AJAX

.NET Framework version 3.5 vous permet de créer des applications Web qui proposent des interfaces utilisateur de nouvelle génération avec des composants clients réutilisables. Vous pouvez développer des pages Web en adoptant une approche serveur, une approche client ou une combinaison des deux, selon vos besoins. Les modèles de programmation serveur et client AJAX présentent les fonctionnalités suivantes :

  • Contrôles serveur qui prennent en charge le développement AJAX serveur. Cela inclut les contrôles ScriptManager, UpdatePanel, UpdateProgress et Timer. Ces contrôles vous permettent de créer, avec un minimum de script client voire aucun, un comportement client riche, tel que le rendu de page partielle et l'affichage de la progression de la mise à jour lors de publications asynchrones.

  • Microsoft AJAX Library, qui prend en charge le développement client orienté objet indépendant du navigateur. Outre la prise en charge des nouveaux contrôles serveur AJAX, la bibliothèque cliente vous offre la possibilité de développer des composants clients personnalisés qui étendent des éléments DOM ou les représentent.

  • Classes serveur qui vous permettent de développer des contrôles serveur mappant aux composants clients personnalisés dont les événements et les propriétés sont définis de façon déclarative. Les types de serveur qui prennent en charge ces fonctionnalités incluent des contrôles dérivant des classes de base ExtenderControl ou ScriptControl, ou implémentant les interfaces IExtenderControl ou IScriptControl.

  • Prise en charge de la globalisation et de la localisation de script à l'aide de script client. La globalisation vous permet d'afficher des dates et des nombres selon une valeur de culture (paramètres régionaux). La localisation vous permet de spécifier un contenu localisé (texte, images, etc.) dans des composants clients d'éléments de l'interface utilisateur ou de messages d'exception.

  • Accès aux services Web et aux services ASP.NET d'authentification, de gestion des rôles et d'application de profil.

.NET Framework version 3.5 vous permet d'activer facilement des mises à jour de page partielle asynchrones dans une page, ce qui évite la charge mémoire liée aux publications de pages entières. Vous pouvez juste placer les contrôles et le balisage existants à l'intérieur des contrôles UpdatePanel. Les publications à partir d'un contrôle UpdatePanel se transforment en publications asynchrones et actualisent uniquement la partie de la page située à l'intérieur du panneau, pour une expérience utilisateur plus fluide. Vous pouvez afficher la progression de la mise à jour de page partielle à l'aide de contrôles UpdateProgress.

Informations sur le développement AJAX dans ASP.NET

Cette documentation fournit des informations détaillées afin de vous aider à vous familiariser avec le développement d'applications Web de type AJAX dans ASP.NET. Pour commencer, suivez la séquence de rubriques décrite dans Ajout de fonctionnalités AJAX et clientes.

Services Web et services d'application

.NET Framework version 3.5 vous permet de créer des services ASP.NET (.asmx) et des services Web WCF que vous pouvez appeler à partir de pages Web dans le script client, à l'aide de Microsoft AJAX Library. Vous pouvez également appeler des services d'application serveur exposés comme services Web, ce qui inclut l'authentification par formulaire, la gestion des rôles et les profils. Ces services d'application peuvent être utilisés dans les applications compatibles WCF, pages Web AJAX et clients Windows Forms inclus. Par conséquent, les applications générées à l'aide des technologies ASP.NET ou WCF peuvent partager des informations mises à disposition par les services d'application. Pour plus d'informations, consultez Services Web dans ASP.NET AJAX et Utilisation des services Web ASP.NET.

Contrôle de données ListView

Le contrôle ListView combine de nombreux aspects de contrôles de données existants. Le contrôle ListView s'avère utile pour l'affichage de données dans les structures à répétition, tout comme les contrôles DataList et Repeater. Contrairement à ces contrôles, le contrôle ListView prend en charge les opérations d'édition, d'insertion et de suppression, ainsi que le tri et la pagination. La fonctionnalité de pagination est fournie pour ListView par le nouveau contrôle DataPager.

Le contrôle ListView est entièrement personnalisable et vous permet ainsi d'utiliser des modèles et des styles pour définir l'interface utilisateur du contrôle. Comme les contrôles Repeater, DataList et FormView, les modèles du contrôle ListView ne sont pas prédéfinis pour restituer une interface utilisateur spécifique dans le navigateur. Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web ListView.

Contrôle DataPager

Le contrôle DataPager permet de naviguer dans les données affichées par un contrôle qui implémente l'interface IPageableItemContainer, tel que le contrôle ListView. Le contrôle DataPager prend en charge l'interface utilisateur de pagination intégrée. Vous pouvez spécifier l'interface utilisateur de pagination à l'aide de l'objet NumericPagerField, pour permettre aux utilisateurs de sélectionner une page par son numéro. Vous pouvez également utiliser l'objet NextPreviousPagerField, afin de permettre aux utilisateurs de parcourir les pages une par une ou d'accéder directement à la première ou à la dernière page. Une alternative consiste à créer une interface utilisateur de pagination personnalisée à l'aide de l'objet TemplatePagerField.

Contrôle LinqDataSource

Le contrôle LinqDataSource expose LINQ (Language-Integrated Query) à travers l'architecture de contrôle de source de données ASP.NET. Utilisez le contrôle LinqDataSource lorsque vous créez une page Web qui récupère ou modifie des données et souhaitez utiliser le modèle de programmation fourni par LINQ. Vous pouvez simplifier le code d'une page Web en permettant au contrôle LinqDataSource de créer automatiquement les commandes pour interagir avec les données. Grâce au contrôle LinqDataSource, vous pouvez réduire la quantité de code à écrire pour effectuer des opérations de données, par rapport à celle nécessaire pour effectuer les mêmes opérations dans le contrôle SqlDataSource ou ObjectDataSource. En outre, avec le contrôle LinqDataSource, vous ne devez vous familiariser qu'avec un seul modèle de programmation pour interagir avec les différents types de sources de données.

Vous pouvez utiliser le balisage déclaratif pour créer un contrôle LinqDataSource qui se connecte aux données à partir d'une base de données ou d'une collecte de données telle qu'une collection. Dans le balisage, vous pouvez spécifier les critères d'affichage, de filtre, de classement et de regroupement des données. Lorsque la source de données est une table de base de données SQL, vous pouvez également configurer un contrôle LinqDataSource pour mettre à jour, insérer et supprimer des données. Vous n'avez pas à écrire les commandes SQL pour effectuer ces tâches. La classe LinqDataSource fournit un modèle d'événement qui vous permet de personnaliser le comportement d'affichage et de mise à jour. Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web LinqDataSource.

Outil de fusion ASP.NET

L'outil de fusion ASP.NET (Aspnet_merge.exe) vous permet d'associer et de gérer des assemblys créés par l'outil de précompilation ASP.NET (Aspnet_compiler.exe). (L'outil de fusion a été mis à disposition précédemment comme composant additionnel de Visual Studio 2005.) L'outil de fusion crée des assemblys uniques pour le site. Vous pouvez créer un assembly pour le site Web entier, pour chaque dossier du site Web ou juste pour les fichiers de l'interface utilisateur du site (pages et contrôles).

Remarque :

Cette fonctionnalité n'est pas disponible dans Visual Web Developer Express.

Pour plus d'informations, consultez ASP.NET Merge Tool, outil (Aspnet_merge.exe). Pour plus d'informations sur l'outil Compilateur ASP.NET, consultez ASP.NET Compilation Tool, outil (Aspnet_compiler.exe).

Améliorations apportées à Visual Web Developer

Les sections suivantes fournissent des informations sur les améliorations et les nouvelles fonctionnalités de Visual Studio 2008 et Visual Web Developer Express.

Nouveau mode Design et nouveaux outils de conception CSS

Le concepteur de pages Web vous permet désormais de travailler en mode Design, Source ou Fractionné, qui permet de combiner l'affichage en mode Design et l'affichage en mode Source.

Visual Studio fournit désormais des outils qui simplifient l'utilisation de feuilles de style en cascade (CSS, Cascading Style Sheets). Vous pouvez concevoir la disposition et le contenu de style en mode Design à l'aide de nouveaux outils d'interface utilisateur, tels que la fenêtre Propriétés CSS. Vous pouvez également modifier le positionnement, le remplissage et les marges directement au mode Design à l'aide des outils de disposition visuelle WYSIWYG.

Pour plus d'informations, consultez les rubriques suivantes :

IntelliSense pour JScript et ASP.NET AJAX

Visual Studio 2008 et Visual Web Developer Express offrent désormais une fonctionnalité IntelliSense considérablement améliorée pour le codage dans ECMAScript (JScript ou JavaScript) et l'écriture de script client dans les applications Web de type AJAX qui utilisent Microsoft AJAX Library. IntelliSense est disponible pour le script client dans les éléments script et pour les fichiers de script .js référencés. 

En outre, IntelliSense affiche des commentaires de code XML. Les commentaires de code XML permettent de décrire le résumé, les paramètres et les détails de retour de votre script client. ASP.NET AJAX utilise également des commentaires de code XML pour fournir la fonctionnalité IntelliSense avec les types et membres ASP.NET AJAX. IntelliSense est également pris en charge pour les références de fichiers de script externes qui utilisent des commentaires de code XML.

Pour plus d'informations, consultez les rubriques suivantes :

Projets d'application Web

Les projets d'applications Web, exposés précédemment comme composants additionnels pour Visual Studio 2005, sont désormais intégrés dans Visual Studio et Visual Web Developer Express. À l'aide du modèle de projet d'application Web, vous pouvez compiler un site Web en un assembly unique dans le dossier Bin et définir explicitement des ressources de projet.

Le modèle de projet d'application Web utilise la même sémantique de projet, de génération et de compilation que les projets Web dans Visual Studio .NET 2003. Vous pouvez ainsi migrer facilement des sites Web Visual Studio .NET 2003 vers la version actuelle de Visual Studio ou de Visual Web Developer Express.

Les projets d'application Web ne remplacent pas le type de projet de site Web introduit dans Visual Studio 2005. Ils proposent plutôt un autre modèle de projet afin d'offrir davantage d'options pour le déploiement et la maintenance de vos applications Web.

Pour plus d'informations, consultez les rubriques suivantes :

Multi-ciblage d'applications Web

Visual Studio vous permet désormais de cibler une application Web sur une version spécifique du .NET Framework. Vous pouvez utiliser une instance de Visual Studio afin de développer des applications Web pour .NET Framework versions 2.0, 3.0 (Windows Vista) et 3.5. Dans Visual Web Developer Express, vous ne peut créer que des applications qui ciblent la version 3.5 du .NET Framework. Toutefois, vous pouvez modifier ultérieurement la version du .NET Framework pour cibler les versions 2.0, 3.0 et 3.5, en modifiant la propriété de projet associée.

Pour plus d'informations, consultez les rubriques suivantes :

Prise en charge de LINQ par le concepteur et IntelliSense

Un nouveau jeu de fonctionnalités dans Visual Studio 2008 assure la prise en charge de LINQ (Language Integrated Query) et étend ces puissantes fonctions de requête à la syntaxe de langage de C# et Visual Basic. La technologie LINQ propose des modèles standards et facilement assimilables pour demander et transformer des données, et peut être étendue de sorte à prendre en charge tout type de source de données. Le concepteur fournit une représentation visuelle de classes de données qui vous permet de créer et de modifier rapidement des classes mappant à des objets dans une base de données. Le support IntelliSense fournit des informations sur la syntaxe de langage LINQ et sur l'utilisation du contrôle LinqDataSource en mode Source. Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web LinqDataSource.

Prise en charge de la création et de l'utilisation des services WCF dans un projet Web

Dans Visual Studio, vous pouvez ajouter des services Web ASP.NET (fichiers .asmx) et des services Web WCF (fichiers .svc) à un projet. Les applications clientes écrites en code managé accèdent en général à ces services Web via une classe proxy. Par exemple, ces applications utilisent la classe proxy générée par Visual Studio lorsque vous utilisez la boîte de dialogue Ajouter une référence Web. Les applications AJAX peuvent accéder aux services Web à partir du navigateur à l'aide des classes proxy générées automatiquement dans le script client. Pour plus d'informations, consultez Vue d'ensemble des services d'application ASP.NET.

Prise en charge des contrôles d'extendeur ASP.NET AJAX

Les contrôles d'extendeur AJAX optimisent les fonctionnalités clientes des contrôles serveur Web standards dans les applications Web ASP.NET. Offrez aux utilisateurs une expérience Web plus riche en liant un ou plusieurs extendeur(s) aux contrôles serveur Web, tels que les contrôles TextBox, Button et Panel.

Visual Studio prend en charge tous les contrôles d'extendeur ASP.NET AJAX. Cela inclut les contrôles d'extendeur que vous créez et ceux que vous ajoutez depuis des sources, tels que ASP.NET AJAX Control Toolkit, disponible sur le site Web d'ASP.NET.

Remarque :

ASP.NET AJAX Control Toolkit est une bibliothèque prise en charge par la communauté et non pas par Microsoft.

Pour plus d'informations, consultez les rubriques suivantes :

Voir aussi

Concepts

Procédures pas à pas ASP.NET sélectionnées

Nouveautés de Visual Studio 2008

Vue d'ensemble des projets d'application Web

Ajout de fonctionnalités AJAX et clientes

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

Comparaison de Visual Studio et Visual Web Developer Express

Autres ressources

Contrôles serveur AJAX