Übersicht über ASP.NET Dynamic Data

Visual Studio 2010

Aktualisiert: Juli 2008

Mit dem ASP.NET Dynamic Data-Framework können Sie datengesteuerte ASP.NET-Webanwendungen problemlos erstellen. Es erkennt zur Laufzeit automatisch die Metadaten des Datenmodells und leitet anhand dieser Daten das Verhalten der Benutzeroberfläche ab. Ein Gerüstframework stellt eine funktionsfähige Website zum Anzeigen und Bearbeiten von Daten bereit. Das Gerüstframework kann ganz einfach angepasst werden, indem Sie die Elemente ändern oder neue Elemente erstellen, die das Standardverhalten außer Kraft setzen. Vorhandene Anwendungen können Gerüstelemente in ASP.NET-Seiten integrieren.

Dieses Thema enthält folgende Abschnitte:

Mithilfe von ASP.NET Dynamic Data können Sie neue datengesteuerte Websites erstellen, die nur minimalen Code erfordern und die Funktionen des Dynamic Data-Frameworks umfassend nutzen. Darüber hinaus können Sie spezifische Dynamic Data-Funktionen auswählen und vorhandenen Websites hinzufügen.

Dynamic Data bietet die folgenden Features:

Die Dynamik von Dynamic Data äußert sich darin, dass die Darstellung und das Verhalten von Datenfeldern zur Laufzeit anhand des zugrunde liegenden Datenschemas abgeleitet werden können. Zusammen mit der Verfügbarkeit von standardmäßigen Seiten- und Feldvorlagen und den zahlreichen Anpassungsmöglichkeiten bietet Ihnen dieser Mechanismus eine große Auswahl an Entwurfsmöglichkeiten, einschließlich:

  • Erstellen einer Website mit Gerüstbau.

  • Hinzufügen von dynamischen Daten zu einer vorhandenen Website.

  • Hinzufügen von Geschäftslogik für die Datenfeldvalidierung.

  • Anpassen der Benutzeroberfläche, die zum Anzeigen und Bearbeiten spezifischer Datenfelder oder Tabellen gerendert wird.

Datenmodell

Das Datenmodell stellt die Informationen in einer Datenbank und die Beziehungen zwischen den Elementen in der Datenbank dar.

Dynamic Data unterstützt das LINQ to SQL-Datenmodell und das ADO.NET Entity Framework-Datenmodell. Sie können in eine Webanwendung mehrere Instanzen der Datenmodelle einschließen, die in Dynamic Data verwendeten Modelle müssen jedoch den gleichen Typ aufweisen.

Sie registrieren die Datenmodelle, die Sie mit Dynamic Data verwenden möchten, in der Datei Global.asax der Webanwendung. Nachdem ein Datenmodell für Dynamic Data registriert wurde, kann dieses eine automatische Validierung der Datenfelder durchführen. Darüber hinaus können Sie hiermit die Darstellung und das Verhalten der Daten auf Datenebene steuern.

Gerüstbau

Der Gerüstmechanismus erweitert das vorhandene ASP.NET-Seitenframework, indem Seiten auf Grundlage des Datenmodells dynamisch angezeigt werden. Der Gerüstbau bietet die folgenden Funktionen:

  • Wenig oder kein Code zum Erstellen einer datengesteuerten Webanwendung.

  • Kurze Entwicklungsdauer.

  • Integrierte Datenvalidierung auf Grundlage des Datenbankschemas.

  • Automatische Datenauswahl für jedes Fremdschlüssel- oder boolesche Feld.

Seitenvorlagen

Der Dynamic Data-Gerüstbau verwendet Seitenvorlagen, um eine Standardansicht von Datentabellen bereitzustellen. Seitenvorlagen sind ASP.NET-Webseiten, die Daten aus einer beliebigen, für Dynamic Data verfügbaren Tabelle anzeigen. Dynamic Data beinhaltet Seitenvorlagen für verschiedene Datenansichten, darunter Auflisten einer Tabelle (Listenansicht), Anzeigen von Master-/Detailtabellen (Detailansicht), Bearbeiten von Daten (Bearbeitungsansicht) usw. Standardmäßig ist Dynamic Data so konfiguriert, dass nur eine Seitenvorlage für Listenansichten verwendet wird. Sie können jedoch die standardmäßige Seitenvorlage ändern oder Dynamic Data so konfigurieren, dass je nach Anlass eine andere Seitenvorlage verwendet wird. Weitere Informationen hierzu finden Sie unter ASP.NET Dynamic Data-Infrastruktur.

Feldvorlagen

Dynamic Data verwendet Feldvorlagen, um die Benutzeroberfläche zum Anzeigen und Bearbeiten einzelner Datenfelder zu rendern. Die geeignete Feldvorlage wird anhand der Datenfeldtypen bestimmt. Dynamic Data beinhaltet separate Feldvorlagen, um Datenfelder anzuzeigen und zu bearbeiten.

Für ein DateTime-Datenfeld verwendet Dynamic Data beispielsweise die folgenden Feldvorlagen:

  • DateTime.ascx. Durch diese Vorlage wird der Datentyp DateTime als Text (Zeichenfolge) angezeigt und als Literal-Steuerelement gerendert.

  • DateTime_Edit.ascx. Durch diese Vorlage wird ein TextBox-Steuerelement gerendert. Wenn das Feld in der Datenbank nicht null sein kann oder das Datenmodell so angepasst wurde, dass eine Eingabe erforderlich ist, rendert dieses Steuerelement zudem ein RequiredFieldValidator-Steuerelement. Die Feldvorlage DateTime_Edit.ascx stellt ein DynamicValidator-Steuerelement bereit, durch das alle vom Datenmodell ausgelösten Ausnahmen verarbeitet werden. Dieses unterstützt auch die Regex-Klasse.

Wenn Sie ein Dynamic Data-Webprojekt erstellen, fügt Visual Studio dem Projekt den Ordner DynamicData\FieldTemplates hinzu. Dieser Ordner enthält die Standardfeldvorlagen.

Sie können die integrierten Feldvorlagen anpassen oder neue Feldvorlagen erstellen, um anzugeben, wie bestimmte Datenfelder gerendert werden sollen. Sie können beispielsweise eine Feldvorlage erstellen, die die Benutzeroberfläche für die Anzeige und Bearbeitung von Telefonnummern oder E-Mail-Adressen rendert. Ein anderes Beispiel sind Feldvorlagen, die die Benutzeroberfläche so rendern, dass Benutzern andere Möglichkeiten zur Eingabe numerischer Daten (z. B. Schieberegler) zur Verfügung stehen.

Erweitern vorhandener Datensteuerelemente

Dynamic Data erweitert die vorhandenen Datensteuerelemente um dynamisches Verhalten auf folgende Art und Weise:

  • Das DetailsView-Steuerelement und das GridView-Steuerelemente können Daten dynamisch anzeigen, indem vordefinierte Dynamic Data-Vorlagen verwendet werden. Sie müssen also die gleichen Markups und Codes für Datensteuerelemente nicht auf jeder Seite neu erstellen. Diese Vorlagen können angepasst werden, um die verwendeten Steuerelemente und die Darstellung der Benutzeroberfläche zum Anzeigen und Bearbeiten von Datenfeldern zu ändern. Auf diese Weise können Sie Änderungen an einer Position vornehmen und auf die Darstellung und das Verhalten der Datensteuerelemente in der gesamten Webanwendung übertragen. Dies geschieht unabhängig von der jeweiligen Tabelle, d. h., Sie können eine Seitenvorlage für jede Tabelle in der Datenbank verwenden. Weitere Informationen hierzu finden Sie unter Gewusst wie: Hinzufügen von dynamischem Verhalten zu datengebundenen Steuerelementen mit DynamicField.

  • Das FormView-Steuerelement und das ListView-Steuerelement können ein ähnliches Verhalten wie für das DetailsView-Steuerelement und das GridView-Steuerelement implementieren. Hierzu wird ein DynamicControl-Steuerelement in den Vorlagen verwendet und angegeben, welches Feld in der Zeile angezeigt werden soll. Dynamic Data erstellt anschließend automatisch anhand der angegebenen Vorlagen die Benutzeroberfläche für diese Steuerelemente. DynamicControl-Steuerelemente rendern nicht automatisch die Benutzeroberfläche für ein Feld. Sie müssen die Steuerelemente zunächst an ein bestimmtes Datenfeld binden. Weitere Informationen hierzu finden Sie unter Gewusst wie: Verwenden von ASP.NET Dynamic Data in vorlagenbasierten datengebundenen Steuerelementen.

  • Dynamic Data analysiert die Metadaten des Datenmodells für ein LINQ to SQL- oder Entity Framework-Datenmodell und führt eine automatische Validierung basierend auf den Metadaten durch. Wenn in einer Spalte der Datenbank beispielsweise keine NULL-Werte zulässig sind, wird für die Spalte automatisch ein RequiredFieldValidator-Steuerelement gerendert. Darüber hinaus können Sie angepasste Metadaten anwenden, um exakter zu steuern, wie Datenfelder gerendert und validiert werden. Weitere Informationen hierzu finden Sie unter Gewusst wie: Anpassen der Datenfeldvalidierung im Datenmodell.

In der folgenden Tabelle sind die Namespaces aufgeführt, die die ASP.NET Dynamic Data-Klassen enthalten.

Namespace

Beschreibung

System.ComponentModel.DataAnnotations

Enthält Attributklassen, die zum Definieren von Metadaten für Dynamic Data-Steuerelemente verwendet werden.

System.Web.DynamicData

Enthält Klassen, die die Kernfunktionalität für ASP.NET Dynamic Data bereitstellen. Außerdem werden Erweiterungsfeatures zum Anpassen des Dynamic Data-Verhaltens bereitgestellt.

Sie können sich u. a. folgendermaßen weiter mit dem Thema befassen:

  • Grundlegendes zum URL-Routing. Weitere Informationen hierzu finden Sie unter ASP.NET-Routing.

  • Grundlegendes zur objektrelationalen Zuordnung in LINQ to SQL. Weitere Informationen hierzu finden Sie unter LINQ to SQL.

  • Grundlegendes zum ADO.NET Entity Framework. Weitere Informationen finden Sie unter ADO.NET Entity Framework.

Zurück nach oben

Date

Versionsgeschichte

Grund

Juli 2008

Hinzugefügtes Thema.

SP1-Featureänderung.

Anzeigen: