ASP.NET AJAX

Eintrag zuletzt aktualisiert am: 08.01.2020

ASP.NET AJAX ist der Oberbegriff für die AJAX-Lösungen von Microsoft. ASP.NET AJAX ist eine Erweiterung zu ASP.NET Webforms.

ASP.NET AJAX besteht in Version 1 aus folgenden Produkten:
In ASP.NET 4.0 sollten Erweiterungen für ASP.NET AJAX in Hinblick auf clientseitige Datenbindung erscheinen. Diese Funktionen wurden jedoch im November 2009 ausgelagert in die neue "ASP.NET AJAX Library" und dann im März schließlich eingestellt zugunsten einer Weiterentwicklung der Open Source-Bibliothek "JQuery". In ASP.NET 4.0 gibt es daher ASP.NET AJAX nur im gleichen Umfang wie in ASP.NET 3.5.

Funktionen (Stand .NET 3.5/.NET 4.0)

Vergleich von Partielle Seitenerzeugung und Script Services

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 (via JSON oder XML) 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.