Share via


Vue d'ensemble de Dynamic Data ASP.NET

Mise à jour : Juillet 2008

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. Pour cela, elle automatiquement les métadonnées des modèle de données au moment de l'exécution et en déduit le comportement de l'interface utilisateur. Une infrastructure de génération de modèles automatique fournit un site Web fonctionnel pour l'affichage et la modification des données. Vous pouvez personnaliser facilement l'infrastructure de génération de modèles automatique en modifiant des éléments ou en créant de nouveaux éléments pour remplacer le comportement par défaut. Les applications existantes peuvent intégrer facilement des éléments de la logique de génération de modèles automatique dans des pages ASP.NET.

Cette rubrique contient les sections suivantes :

  • Introduction

  • Fonctionnalités

  • Contexte

  • Référence de Classe

  • Informations supplémentaires

Fonctionnalités

Vous pouvez utiliser Dynamic Data ASP.NET pour créer de nouveaux sites Web pilotés par des données qui requièrent peu de code et qui tirent pleinement parti des fonctionnalités de l'infrastructure Dynamic Data. Vous pouvez également sélectionner des fonctionnalités Dynamic Data spécifiques à ajouter aux sites Web existants.

Dynamic Data propose les fonctions suivantes :

Contexte

La nature dynamique de Dynamic Data implique qu'il peut déduire l'apparence et le comportement des champs de données à partir du schéma de base de données sous-jacent au moment de l'exécution. Ce mécanisme, ainsi que la disponibilité d'une page par défaut et de modèles de champs, et de nombreuses possibilités de personnalisation, vous offrent divers choix de conception, y compris parmi les éléments suivants :

  • génération d'un site Web à l'aide de la génération de modèles automatique ;

  • ajout de données dynamiques à un site Web existant ;

  • ajout d'une logique métier de validation des champs de données ;

  • personnalisation de l'interface utilisateur restituée pour l'affichage et la modification de champs de données spécifiques ou d'une table spécifique.

Modèle de données

Un modèle de données représente les informations qui se trouvent dans une base de données et la manière dont les éléments de la base de données sont liés entre eux.

Dynamic Data prend en charge le modèle de données LINQ to SQL et le modèle de données ADO.NET Entity Framework. Vous pouvez inclure plusieurs instances de modèles de données dans une application Web, mais les modèles utilisés dans Dynamic Data doivent être du même type.

Vous inscrivez le ou les modèles de données que vous souhaitez utiliser avec Dynamic Data dans le fichier Global.asax de l'application Web. Après avoir enregistré un modèle de données dans Dynamic Data, le modèle de données peut effectuer la validation automatique des champs de données, et il vous permet de contrôler l'apparence et le comportement des données au niveau de la couche données.

Génération de modèles automatique

La génération de modèles automatique est un mécanisme qui améliore l'infrastructure de page ASP.NET existante en affichant dynamiquement des pages selon le modèle de données. La génération de modèles automatique fournit les fonctionnalités suivantes :

  • peu ou pas de code requis pour créer une application Web pilotée par des données ;

  • courte durée de développement ;

  • validation des données intégrée basée sur le schéma de base de données ;

  • sélection automatique des données pour chaque clé étrangère ou champ booléen.

Modèles de pages

La génération de modèles automatique Dynamic Data utilise des modèles de pages pour fournir un affichage par défaut des tables de données. Les modèles de pages sont des pages Web ASP.NET configurées pour afficher des données de toute table qui est disponible pour Dynamic Data. Dynamic Data inclut des modèles de pages pour les différentes vues des données, telles que l'énumération d'une table (vue Liste), l'affichage des tables maître/secondaire (mode Détails), la modification des données (mode Édition), et ainsi de suite. Par défaut, Dynamic Data est configuré pour utiliser uniquement un modèle de page en vue Liste. Vous pouvez modifier le modèle de page par défaut ou modifier Dynamic Data pour utiliser des modèles de pages différents à des fins différentes. Pour plus d'informations, consultez Infrastructure Dynamic Data ASP.NET.

Modèles de champs

Dynamic Data utilise des modèles de champs pour restituer l'interface utilisateur pour l'affichage et la modification de champs de données individuels. Il détermine le modèle de champ approprié à partir des types de champs de données. Dynamic Data inclut des modèles de champs séparés pour l'affichage et la modification des champs de données.

Par exemple, Dynamic Data utilise les modèles de champs suivants pour un champ de données DateTime :

  • DateTime.ascx. Ce modèle affiche le type de données DateTime sous forme de texte (chaîne) et le restitue en tant que contrôle Literal.

  • DateTime_Edit.ascx. Ce modèle restitue un contrôle TextBox. Si le champ dans la base de données ne peut pas être null ou si le modèle de données a été personnalisé pour requérir une entrée, ce contrôle restitue également un contrôle RequiredFieldValidator. Le modèle de champ DateTime_Edit.ascx fournit un contrôle DynamicValidator qui gère les exceptions levées à partir du modèle de données. Il prend également en charge la classe Regex.

Lorsque vous créez un projet Web Dynamic Data, Visual Studio ajoute un dossier DynamicData\FieldTemplates au projet. Ce dossier contient les modèles de champs par défaut.

Vous pouvez personnaliser les modèles de champs intégrés ou créer de nouveaux modèles pour spécifier comment les champs de données individuels sont restitués. Par exemple, vous pouvez créer des modèles de champs qui génèrent l'interface utilisateur pour l'affichage et la modification des numéros de téléphone ou des adresses de messagerie. Autre exemple : vous pouvez créer des modèles de champs qui rendent l'interface utilisateur pour spécifier d'une autre manière (avec un curseur) les données numériques.

Amélioration des contrôles de données existants

Dynamic Data améliore les contrôles de données existants afin d'inclure le comportement dynamique, des manières suivantes :

  • Les contrôles DetailsView et GridView peuvent afficher dynamiquement des données en utilisant des modèles Dynamic Data prédéfinis au lieu de vous obliger à recréer le même balisage et à coder les contrôles de données dans chaque page. Vous pouvez personnaliser ces modèles pour modifier les contrôles à utiliser et la restitution de l'interface utilisateur pour l'affichage et la modification des champs de données. Cela vous permet d'apporter des modifications à un endroit qui affecteront l'apparence et le comportement des contrôles de données dans toute l'application Web. Cela s'effectue indépendamment de la table spécifique, afin qu'un modèle de page puisse être utilisé pour toute table dans la base de données. Pour plus d'informations, consultez Comment : ajouter un comportement dynamique à des contrôles liés aux données à l'aide d'un objet DynamicField.

  • Les contrôles FormView et ListView peuvent implémenter un comportement semblable à pour les contrôles DetailsView et GridView en utilisant un contrôle DynamicControl dans leurs modèles et en spécifiant quel champ de la ligne afficher. Dynamic Data générera ensuite automatiquement l'interface utilisateur pour ces contrôles, selon les modèles que vous spécifiez. Les contrôles DynamicControl ne restituent pas automatiquement l'interface utilisateur pour n'importe quel champ ; vous devez lier les contrôles à un champ de données spécifique. Pour plus d'informations, consultez Comment : utiliser Dynamic Data ASP.NET dans des contrôles liés aux données basés sur des modèles.

  • Dynamic Data examine les métadonnées des modèles de données pour un modèle LINQ to SQL ou Entity Framework et assure la validation automatique en fonction des métadonnées. Par exemple, si une colonne dans la base de données est marquée comme n'acceptant pas les valeurs Null, un contrôle RequiredFieldValidator est restitué automatiquement pour la colonne. Vous pouvez également appliquer des métadonnées personnalisées afin de personnaliser davantage la restitution et la validation des champs de données. Pour plus d'informations, consultez Comment : personnaliser la validation des champs de données dans le modèle de données.

Référence de Classe

Le tableau suivant énumère les espaces de noms qui contiennent des classes Dynamic Data ASP.NET.

Namespace

Description

System.ComponentModel.DataAnnotations

Fournit des classes d'attributs utilisées pour définir les métadonnées pour les contrôles Dynamic Data.

System.Web.DynamicData

Contient des classes qui fournissent les fonctionnalités principales pour Dynamic Data ASP.NET. Cet espace de noms fournit également des fonctionnalités d'extensibilité permettant de personnaliser le comportement des données dynamiques.

Informations supplémentaires

Les suggestions supplémentaires d'exploration incluent notamment :

  • Fonctionnement du routage d'URL. Pour plus d'informations, consultez Routage ASP.NET.

  • Fonctionnement du mappage Objet/Relationnel LINQ to SQL. Pour plus d'informations, consultez LINQ to SQL.

  • Fonctionnement d'ADO.NET Entity Framework. Pour plus d'informations, consultez ADO.NET Entity Framework.

Retour au début

Voir aussi

Tâches

Procédure pas à pas : création d'un nouveau site Web Dynamic Data à l'aide de la génération de modèles automatique

Procédure pas à pas : ajout de Dynamic Data à un site Web existant

Concepts

Infrastructure Dynamic Data ASP.NET

Vue d'ensemble des modèles de pages et de la génération de modèles automatique Dynamic Data ASP.NET

Ajout d'un comportement dynamique à des contrôles liés aux données ASP.NET

Vue d'ensemble des modèles de champs Dynamic Data ASP.NET

Vue d'ensemble des modèles de données Dynamic Data ASP.NET

Historique des modifications

Date

Historique

Raison

Juillet 2008

Ajout d'une rubrique.

Modifications de fonctionnalités dans le SP1.