ASP.NET beinhaltet ein neues
Programmiermodell für Webseiten. Dieses Modell wird als Webform-Programmiermodell
oder ASP.NET Page Framework bezeichnet.
Ein Webform ist eine .aspx-Seite, die neben konventionellem HTML-Code auch sogenannte Serversteuerelemente (in XML-Form) beinhaltet.
WICHTIG
Ein Webform enthält nicht notwendigerweise ein Eingabeformular. Der Begriff Webform bezeichnet in ASP.NET allgemein eine
Webseite, die mit serverseitigem Code ausgestattet ist.
Die nachstehende Abbildung zeigt eine
grobe Sicht auf das ASP.NET-Programmiermodell:
- Der Webserver stellt eine HTTP-Anfrage an den Webserver.
- Der Webserver leitet die Anfrage an die ASP.NET-Seite weiter.
- Die ASP.NET-Seite besteht auf
dem Webserver aus HTML-Code, XML-Code und .NET-Programmcode.
- Das ASP.NET Page
Framework führt die Seite aus und erzeugt daraus eine HTTP-Antwort.
- Die HTTP-Antwort enthält nur HTML, Cascading Style Sheets (CSS), JavaScript und Zustandsdaten (z.B.
in Form von Cookies).
- Der Browser stellt die HTML-Seite dar und führt den JavaScript-Code aus.
Das unterscheidet sich noch nicht fundamental von anderen
Rahmenwerken zur Webserverprogrammierung.
Die interessanten Details liegen in der Ausführung der ASP.NET-Seite und der
Erzeugung der Ausgabe (Rendering). Dies wird in den folgenden Kapiteln
besprochen.

Abbildung 4.1 Client-Server-Architektur unter Einsatz von ASP.NET
ASP.NET ist primär eine serverseitige Web-Technologie, d.h., die erstellte ASP.NET-Anwendung wird für den Webserver
erstellt und dort auch ausgeführt. Der serverseitige Charakter von ASP.NET kann
gar nicht oft genug betont werden, denn immer wieder werden bei Vorträgen und
in Newsgroups Fragen gestellt, wie man denn mit ASP.NET drucken oder ein neues
Browserfenster öffnen kann. Die Antworten auf diese Fragen sind immer gleich:
Grundsätzlich kann man das nicht mit ASP.NET
erledigen, denn ASP.NET kann den Browser oder den Clientcomputer (auf dem der
Browser läuft) nicht steuern, sondern nur Inhalte erzeugen, die der Browser
darstellen kann. ASP.NET könnte Druckaufträge höchstens für einen von dem
Webserver erreichbaren Netzwerkdrucker in einem
Intranet erzeugen. ASP.NET kann nicht auf die Systemsteuerung oder die
Programme des Clients zugreifen. Das ist auch so gewollt, denn ein Client im
Web will vor Systemzugriffen durch den Webserver
geschützt sein. ASP.NET erzeugt HTML-Code, der vom Browser verarbeitet
wird. HTML selbst enthält keine dynamischen Elemente.
Keine Regel ohne Ausnahme: ASP.NET
kann aber neben HTML-Code auch Browser-Skriptcode (z.B. JavaScript) an den Client senden. Zum Teil erzeugt ASP.NET
zusammen mit dem HTML-Code automatisch auch einige JavaScript-Funktionen.
Der Entwickler hat die Möglichkeit, selbst eigenen JavaScript-Code auf dem Server zu generieren und an den Client zu
senden. In Zukunft wird ASP.NET noch mehr Unterstützung für JavaScript
bieten. Diese Ausnahme ändert aber nichts daran, dass man nicht erwarten darf,
dass ASP.NET den Client komplett selbst steuern kann.
Durch die ASP.NET AJAX-Erweiterungen
wird der clientseitige Anteil von ASP.NET stark vergrößert.
Inhalt dieses Kapitels:
Abstraktion
durch Serversteuerelemente (Adaptive Rendering) >>