Übersicht über ASP.NET-AJAX

Aktualisiert: November 2007

Mit den AJAX-Features in ASP.NET können Sie schnell Webseiten erstellen, die mit reaktionsschnellen und vertrauten Benutzeroberflächenelementen eine hohe Benutzerfreundlichkeit bieten. Zu den AJAX-Features zählen Bibliotheken mit Clientskripts, in denen browserübergreifende ECMAScript (JavaScript)- und Dynamic HTML (DHTML)-Technologien integriert sind. Außerdem sind diese Features in der serverbasierten ASP.NET-Entwicklungsplattform integriert. Sie können die Benutzerfreundlichkeit und die Effizienz Ihrer Webanwendungen verbessern, indem Sie AJAX-Features verwenden.

Gründe für die Verwendung der AJAX-Features von ASP.NET

Mit den AJAX-Features in ASP.NET können Sie umfangreiche Webanwendungen erstellen, die gegenüber rein serverbasierten Webanwendungen viele Vorteile bieten. Anwendungen mit AJAX-Features bieten:

  • Höhere Effizienz, da wesentliche Teile der Verarbeitung einer Webseite im Browser ausgeführt werden.

  • Vertraute Benutzeroberflächenelemente, zum Beispiel Statusanzeigen, QuickInfos und Popupfenster.

  • Teilaktualisierungen von Seiten, bei denen nur die Teile der Webseite aktualisiert werden, die sich geändert haben.

  • Integration des Clients in ASP.NET-Anwendungsdienste für Formularauthentifizierung, Rollen und Benutzerprofile.

  • Automatisch generierte Proxyklassen, die das Aufrufen von Webdienstmethoden durch Clientskripts vereinfachen.

  • Ein Framework, mit dem Sie Serversteuerelemente so anpassen können, dass Clientfunktionen darin integriert werden.

  • Unterstützung für die beliebtesten und am meisten verwendeten Browser. Dazu gehören Microsoft Internet Explorer, Mozilla Firefox und Apple Safari.

Architektur der AJAX-Features in ASP.NET

Die Architektur der AJAX-Features in ASP.NET besteht aus zwei Teilen: Clientskriptbibliotheken und Serverkomponenten. Diese Bestandteile sind integriert, um ein robustes Entwicklungsframework bereitzustellen.

Hinweis:

Sie können zusätzlich zu den in ASP.NET vorhandenen AJAX-Features das ASP.NET AJAX Control Toolkit und die Features in den Versionen von Microsoft ASP.NET Futures verwenden, die beide von der Community unterstützt werden.

Die folgende Abbildung zeigt die Funktionalitäten, die in den Clientskriptbibliotheken und Serverkomponenten enthalten sind.

ASP.NET AJAX-Client- und -Serverarchitektur

Die Abbildung zeigt die Funktionalität der clientbasierten Microsoft AJAX Library, die Unterstützung für das Erstellen von Clientkomponenten, Browserkompatibilität sowie Netzwerk- und Basisdienste bietet. Außerdem zeigt die Abbildung die Funktionalität serverbasierter AJAX-Features. Dazu gehören die Unterstützung für Skripts, Webdienste, Anwendungsdienste und Serversteuerelemente. In den folgenden Abschnitten wird die Abbildung ausführlicher beschrieben.

AJAX-Clientarchitektur

Die Clientarchitektur schließt Bibliotheken für Komponentenunterstützung, Browserkompatibilität, Netzwerk- und Basisdienste ein.

Komponenten

Clientkomponenten ermöglichen umfangreiche Aktionen ohne Postbacks im Browser. Komponenten werden in drei Kategorien eingeteilt:

  • Komponenten, die keine visuellen Objekte sind und keinen Code kapseln, z. B. ein Timer-Objekt.

  • Verhalten, das das grundlegende Verhalten von vorhandenen DOM-Elementen erweitert.

  • Steuerelemente, die ein neues DOM-Element mit benutzerdefiniertem Verhalten darstellen.

Der von Ihnen verwendete Komponententyp ist von der Art des gewünschten Clientverhaltens abhängig. Beispielsweise kann ein Wasserzeichen für ein vorhandenes Textfeld erstellt werden, indem dem Textfeld ein Verhalten zugeordnet wird. Weitere Informationen finden Sie unter Erstellen von Clientkomponenten und Steuerelementen.

Browserkompatibilität

Die Browserkompatibilitätsebene stellt AJAX-Skriptkompatibilität für die am häufigsten verwendeten Browser bereit (einschließlich Microsoft Internet Explorer, Mozilla Firefox und Apple Safari). Dadurch können Sie dasselbe Skript schreiben, unabhängig davon, für welchen der unterstützten Browser dies vorgesehen ist. Weitere Informationen finden Sie unter Browsersicherheitseinstellungen für AJAX-fähige ASP.NET-Seiten.

Netzwerk

Die Netzwerkebene regelt die Kommunikation zwischen Skripts im Browser und webbasierten Diensten und Anwendungen. Außerdem verwaltet sie asynchrone Remotemethodenaufrufe. In vielen häufig vorkommenden Szenarien, zum Beispiel Teilaktualisierungen einer Seite, bei denen das UpdatePanel-Steuerelement verwendet wird, wird automatisch die Netzwerkebene verwendet, sodass Sie keinerlei Code schreiben müssen.

Die Netzwerkebene unterstützt auch den Zugriff auf serverbasierte Formularauthentifizierung, Rolleninformationen und Profilinformationen in Clientskript. Diese Unterstützung steht auch Webanwendungen zur Verfügung, die nicht mithilfe von ASP.NET erstellt wurden, sofern die Anwendung auf die Microsoft AJAX Library zugreifen kann. Weitere Informationen hierzu finden Sie unter Webdienste in ASP.NET-AJAX.

Basisdienste

Die AJAX-Clientskriptbibliotheken in ASP.NET bestehen aus JavaScript-Dateien (.js), die Features zur objektorientierten Entwicklung bereitstellen. Diese objektorientierten Features ermöglichen ein hohes Maß an Konsistenz und Modularität bei der Clientskripterstellung. Die folgenden Basisdienste sind Teil der Clientarchitektur:

  • Objektorientierte Erweiterungen von JavaScript, z. B. Klassen, Namespaces, Ereignisbehandlung, Vererbung, Datentypen und Objektserialisierung.

  • Eine Basisklassenbibliothek, die Komponenten wie Zeichenfolgen-Generatoren und erweiterte Fehlerbehandlung einschließt.

  • Unterstützung für JavaScript-Bibliotheken, die entweder in einer Assembly eingebettet sind oder als eigenständige JavaScript-Dateien (.js) zur Verfügung gestellt werden. Das Einbetten von JavaScript-Bibliotheken in Assemblys kann die Bereitstellung von Anwendungen vereinfachen und bei der Lösung von Versionsproblemen helfen.

  • Weitere Informationen finden Sie unter Erstellen von benutzerdefiniertem Clientskript mithilfe der Microsoft AJAX-Bibliothek.

Debuggen und Fehlerbehandlung

Die Basisdienste enthalten die Sys.Debug-Klasse, die Methoden zur Verfügung stellt, um Objekte in lesbarer Form am Ende einer Webseite anzuzeigen. Außerdem können Sie mithilfe dieser Klasse Verfolgungsmeldungen anzeigen, Assertions verwenden und den Debugger beeinflussen. Eine erweiterte Error-Objekt-API stellt hilfreiche Ausnahmedetails mit Unterstützung für Release- und Debugmodus bereit. Weitere Informationen hierzu finden Sie unter Übersicht über das Debuggen und die Ablaufverfolgung von AJAX-Anwendungen.

Globalisierung

Die AJAX-Server- und Clientarchitektur in ASP.NET stellt ein Modell für die Lokalisierung und Globalisierung von Clientskript bereit. Dadurch können Sie Anwendungen entwerfen, die nur eine Codebasis verwenden, um Benutzeroberflächenelemente für viele verschiedene Gebietsschemas (Sprachen und Kulturen) zur Verfügung zu stellen. Durch die AJAX-Architektur ist es beispielsweise möglich, dass Date-Objekte oder Number-Objekte in JavaScript-Code automatisch den Kultureinstellungen im Browser des Benutzers entsprechend formatiert werden, ohne dass ein Postback zum Server erforderlich ist. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Globalisieren eines Datums mit Clientskript.

AJAX-Serverarchitektur

Die Serverteile, die die AJAX-Entwicklung unterstützen, bestehen aus ASP.NET-Webserversteuerelementen und Komponenten, die die Benutzeroberfläche und die Vorgänge einer Anwendung verwalten. Die Serverteile verwalten auch die Serialisierung, Validierung, Steuerelementerweiterbarkeit usw. Außerdem stehen ASP.NET-Webdienste zur Verfügung, mit denen Sie auf ASP.NET-Anwendungsdienste für die Formularauthentifizierung, Rollen und Benutzerprofile zugreifen können.

Skriptunterstützung

AJAX-Features werden mithilfe unterstützender Skripts in ASP.NET implementiert, die vom Server an den Client gesendet werden. Je nachdem, welche AJAX-Features Sie aktivieren, werden unterschiedliche Skripts an den Browser gesendet.

Sie können auch benutzerdefinierte Clientskripts für Ihre ASP.NET-Anwendungen erstellen. In diesem Fall können Sie AJAX-Features auch dazu verwenden, die benutzerdefinierten Skripts als statische JS-Dateien (auf dem Datenträger) oder als JS-Dateien zu verwalten, die als Ressourcen in einer Assembly eingebettet sind.

ASP.NET-AJAX-Features schließen ein Modell für den Release- und den Debugmodus ein. Der Releasemodus stellt bei minimiertem Skriptumfang eine Fehlerüberprüfung und eine Ausnahmebehandlung bereit, die in Hinsicht auf die Leistung optimiert ist. Der Debugmodus bietet robustere Debugfeatures, z. B. Typ- und Argumentüberprüfung. ASP.NET führt die Debugversionen aus, wenn der Debugmodus für die Anwendung eingestellt ist. Dies ermöglicht Ihnen das Auslösen von Ausnahmen in Debugskripts, während der Umfang des Releasecodes minimiert wird.

Die Skriptunterstützung für AJAX in ASP.NET dient dazu, zwei wichtige Features bereitzustellen:

Lokalisierung

Die ASP.NET-AJAX-Architektur basiert auf der Grundlage des ASP.NET 2.0-Lokalisierungsmodells. Sie bietet zusätzliche Unterstützung für lokalisierte JS-Dateien, die in einer Assembly eingebettet sind oder auf einem Datenträger zur Verfügung stehen. ASP.NET passt sich lokalisierten Clientskripts und Ressourcen für bestimmte Sprachen und Regionen automatisch an.

Weitere Informationen finden Sie unter den folgenden Themen:

Webdienste

Wenn AJAX-Funktionalität in einer ASP.NET-Webseite vorhanden ist, können Sie Clientskripts verwenden, um sowohl ASP.NET-Webdienste (.asmx) als auch Windows Communication Foundation (WCF)-Dienste (.svc) aufzurufen. Die erforderlichen Skriptverweise werden der Seite automatisch hinzugefügt. Diese wiederum erzeugen automatisch die Proxyklassen des Webdiensts, die vom Clientskript verwendet werden, um den Webdienst aufzurufen.

Sie können auch ohne Verwendung von ASP.NET-AJAX-Serversteuerelementen auf ASP.NET-Webdienste zugreifen (wenn Sie beispielsweise eine andere Webentwicklungsumgebung verwenden). Dies können Sie erreichen, indem Sie manuell Verweise auf die Microsoft AJAX Library, auf Skriptdateien und den Webdienst selbst einfügen. Zur Laufzeit generiert ASP.NET die Proxyklassen, die Sie zum Aufrufen der Dienste verwenden können. Weitere Informationen finden Sie unter Webdienste in ASP.NET-AJAX.

Anwendungsdienste

Anwendungsdienste in ASP.NET sind integrierte Webdienste, die auf ASP.NET-Formularauthentifizierung, Rollen und Benutzerprofilen basieren. Diese Dienste können durch Clientskripts in einer Webseite mit AJAX-Funktionalität, durch eine Windows-Clientanwendung oder durch einen WCF-kompatiblen Client aufgerufen werden. Weitere Informationen und Beispiele finden Sie unter Verwenden von ASP.NET-Webdiensten.

Serversteuerelemente

ASP.NET-AJAX-Serversteuerelemente bestehen aus Server- und Clientcode, der integriert ist, um einen Client mit umfangreichen Funktionen zur Verfügung zu stellen. Wenn Sie ein AJAX-Steuerelement zu einer ASP.NET-Webseite hinzufügen, sendet die Seite automatisch unterstützende Clientskripts an den Browser, um die AJAX-Funktionalität zu gewährleisten. Sie können zusätzlichen Clientcode zur Verfügung stellen, um die Funktionalität eines Steuerelements anzupassen, dies ist jedoch nicht erforderlich.

In der folgenden Liste werden die am häufigsten verwendeten ASP.NET-AJAX-Serversteuerelemente erläutert.

  • ScriptManager
    Verwaltet Skriptressourcen für Clientkomponenten, Teilrendering von Seiten, Lokalisierung, Globalisierung und angepasste Benutzerskripts. Das ScriptManager-Steuerelement ist erforderlich, um die Steuerelemente UpdatePanel, UpdateProgress und Timer zu verwenden.

  • UpdatePanel
    Ermöglicht das Aktualisieren ausgewählter Teile der Seite statt einer Aktualisierung der gesamten Seite mithilfe eines synchronen Postbacks.

  • UpdateProgress
    Stellt Statusinformationen über Teilaktualisierungen von Seiten in UpdatePanel-Steuerelementen bereit.

  • Timer
    Führt in festgelegten Intervallen Postbacks aus. Sie können das Timer-Steuerelement verwenden, um die gesamte Seite zu senden. Sie können es jedoch auch zusammen mit dem UpdatePanel-Steuerelement verwenden, um Teilaktualisierungen in festgelegten Intervallen auszuführen.

Sie können auch benutzerdefinierte ASP.NET-Serversteuerelemente erstellen, die AJAX-Clientverhalten einschließen. Benutzerdefinierte Steuerelemente, die die Funktionen anderer ASP.NET-Websteuerelemente erweitern, werden als Extendersteuerelementbezeichnet. Weitere Informationen finden Sie unter Hinzufügen von AJAX-Funktionalität zu ASP.NET-Steuerelementen und Übersicht über ASP.NET-AJAX-Extendersteuerelemente.

AJAX Control Toolkit

Das ASP.NET-AJAX Control Toolkit ist eine Sammlung von Beispielen und Komponenten, die einige Benutzeroberflächen zeigen, die Sie mit ASP.NET-AJAX-Steuerelementen und -Extendern erstellen können. Das Control Toolkit stellt Beispiele und ein leistungsstarkes SDK zur Verfügung, das eine einfache Erstellung und Wiederverwendung von benutzerdefinierten Steuerelementen und Extendern ermöglicht. Sie können das ASP.NET-AJAX Control Toolkit von der ASP.NET AJAX-Website herunterladen. Das ASP.NET-AJAX Control Toolkit wird von der Community unterstützt.

AJAX Futures-Versionen, die von der Community unterstützt werden

Die ASP.NET AJAX-Futures-Versionen, die von der Community unterstützt werden, bieten Features, die die AJAX-Funktionen von ASP.NET um Funktionen erweitern, die sich noch in Entwicklung befinden und nicht in ASP.NET enthalten sind. Dazu gehören zusätzliche Extendersteuerelemente, Unterstützung für deklarative Clientsyntax (XML-Skript) und vieles mehr. Um die Futures-Version herunterzuladen und mehr darüber zu erfahren, besuchen Sie die ASP.NET AJAX-Website.

Siehe auch

Konzepte

Browsersicherheitseinstellungen für AJAX-fähige ASP.NET-Seiten

Hinzufügen von AJAX-Funktionalität zu ASP.NET-Steuerelementen