ASP.NET 2.0 AJAX Extensions

Eintrag zuletzt aktualisiert am: 17.01.2008

ASP.NET 2.0 AJAX Extensions sind eine Erweiterung für ASP.NET 2.0 um AJAX-fähige Steuerelemente.
Die ASP.NET 2.0 AJAX Extensions waren Teil des Atlas-Projekts (ASP.NET Server Controls)

Neue ASP.NET-Serversteuerelemente

<asp:ScriptManager
<asp:UpdatePanel>
<asp:UpdateProgress>
<asp:TimerControl>
<asp:ProfileScriptService>
<asp:AutoCompleteExtender>

Konzepte

Bereits mit den ASP.NET 2.0 AJAX Extensions hat Microsoft die Grundlagen für mehr clientseitige Programmierung in ASP.NET gelegt. Die AJAX-Erweiterungen bestehen aus einer Sammlung umfangreicher JavaScript-Bibliotheken unter dem Microsoft AJAX Library sowie neuen Steuerelementen für ASP.NET. Im Zentrum steht dabei das ScriptManager-Steuerelement, das die für die jeweilige Seite notwendigen JavaScript-Skripte einbindet bzw. dynamisch erzeugt.

Zwei Verfahren konkurrieren in den AJAX Extensions miteinander: Die partielle Seitenerzeugung und die Script-Dienste. Bei der partiellen Seitenerzeugung definiert der Entwickler durch UpdatePanel-Steuerelemente eine oder mehrere Regionen, die bei einem Rückruf des Servers ausgewechselt werden sollen. Die Darstellung für die einzelnen Seitenregionen wird weiterhin auf dem Server erzeugt. Durch Trigger (z.B. eine Schaltfläche, einen Hyperlink, ein Auswahlfeld oder einen Timer) definiert der Entwickler, unter welchen Bedingungen sich welche Regionen aktualisieren sollen. Das Verfahren ist für den Webentwickler sehr einfach ohne eine einzige Zeile selbstentwickelten JavaScript-Code umsetzbar, der Benutzer hat das typische AJAX-Erlebnis einer flackerfreien Anwendung, man reduziert durch dieses Verfahren aber die Belastung von Webserver und den Netzwerkdatenverkehr kaum.

Bei den Script-Diensten erstellt der Entwickler innerhalb der Seite eine spezielle Server-Methode oder einen Webservice, der aus dem Browser heraus über JavaScript angesprochen werden kann. Dabei generiert der ScriptManager einen passenden JavaScript-Proxy für den serverseitigen .NET-Code. Um Serialisierung und Deserialisierung muss sich der Entwickler nicht kümmern. Neu in ASP.NET 3.5 gegenüber den ASP.NET AJAX Extensions ist hier, dass man nun auch mit der Windows Communication Foundation (WCF) erstellte Dienste (.svc-Dateien) nun direkt aus dem JavaScript aufrufen kann. Da Script-Dienste in der Regel nur Daten senden, obliegt die Darstellung dem JavaScript im Browser. Das Verfahren entlastet Webserver und Netzwerk, belastet aber den Entwickler. Immerhin bietet die neue Version des Visual Web Developers (VWD) nun rudimentäre IntelliSense und einen guten Debugger für JavaScript, wodurch die Entwickler deutlich einfach wird.