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:
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 und der Client
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: