Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Einstieg in ASP.NET von Matthias Lohrer
Einstieg in ASP.NET
gp Kapitel »Hallo, Welt!« – Ein ASP.NET-Crashkurs
  gp 4.1 Der Aufbau von ASP.NET-Seiten
    gp 4.1.1 Die @Page-Direktive
    gp 4.1.2 Der serverseitige Skript-Block
    gp 4.1.3 Der Block mit HTML-Code
  gp 4.2 Das erste ASP.NET-Skript: »Hallo, Welt!«
    gp 4.2.1 »Hallo Welt!« – fast wie ASP
    gp 4.2.2 »Hallo, Welt!« im ASP.NET-Stil
    gp 4.2.3 »Hallo, Welt!« mit serverseitigen Steuerelementen
  gp 4.3 Formulare mit ASP.NET auswerten: »Hallo, Anwender!«
    gp 4.3.1 ASP.NET begrüßt den Anwender
    gp 4.3.2 Ein Grundgerüst für ASP.NET-Formulare
    gp 4.3.3 Validierung von Anwendereingaben
  gp 4.4 Zusammenfassung und Ausblick

Kapitel 4 »Hallo, Welt!« – Ein ASP.NET-Crashkurs

»Hallo, Welt!« ist das Thema dieses Kapitels. Zahlreiche kleine ASP.NET-Skripte vermitteln Ihnen ein erstes Feeling davon, wie ASP.NET funktioniert.

In diesem Kapitel schreiben Sie Ihre ersten ASP.NET-Seiten. Wenn Sie die Beispiele selbst nachvollziehen möchten, müssen auf Ihrem Rechner die Internet Information Services und das .NET Framework SDK installiert sein. Falls diese Voraussetzungen noch nicht gegeben sein sollten, können Sie sich in Kapitel 2, Installation, über die notwendigen Installationsschritte informieren.

Vielleicht verstehen Sie einige der folgenden Beispiele noch nicht vollständig. Das macht nichts. Mit Hilfe der kleinen Skripte sollen Sie zunächst ein Gefühl dafür bekommen, wie ASP.NET funktioniert. Wenn Sie einfach mitmachen, verfügen Sie am Ende des Kapitels bereits über ein Grundgerüst für Webformulare, das Sie für Ihre eigenen Programmierexperimente verwenden können.


Galileo Computing

4.1 Der Aufbau von ASP.NET-Seiten  downtop

Bei der herkömmlichen ASP-Programmierung können Abschnitte aus HTML-Code ziemlich beliebig mit JavaScript-Routinen und ASP-Schnipseln vermischt werden. Wer sich bei der Entwicklung nicht selbst zu Disziplin zwingt, kann dadurch ziemlich undurchsichtige Seiten mit einem nur schwer wartbaren Codegemisch erzeugen. Mit ASP.NET sind diese Spaghetti-Code-Zeiten vorbei, denn ASP.NET-Seiten sind nach einem festen Schema aufgebaut.

ASP.NET-Seiten, die im Browser direkt aufgerufen werden, haben die Dateinamensergänzung .aspx. Diese aspx-Seiten bestehen aus drei Teilen:

1. Am Anfang steht die @Page-Direktive: <%@ Page ... %> 2. Es folgt ein Block mit serverseitigem Skriptcode:
<script runat="server"> ... </script> 3. Am Schluss steht der HTML-Code: <html>...</html>

Das Grundgerüst für eine aspx-Seite hat damit diese Form:

<%@ Page Language="VB" Debug="True" Strict="True" %>
<script runat="server">
   ' Hier steht der VB-Code
</script>

<html>
   <!-- Und hier steht der HTML-Code -->
</html>

Galileo Computing

4.1.1 Die @Page-Direktive  downtop

<%@ Page Language="VB" Debug="True" Strict="True" %>

Die @Page-Direktive enthält Anweisungen für den Compiler. Mit Language="VB" wird die Programmiersprache festgelegt, die auf dieser Seite verwendet wird. Hier können alle Sprachen angegeben werden, die .NET unterstützt. Microsoft unterstützt von Haus aus VB, C# und JScript .NET. Die Beispiele dieses Buches sind alle in VB.NET erstellt. Also haben alle @Page-Direktiven in diesem Buch den Eintrag Language="VB".

Das Attribut Debug="True" veranlasst den Compiler, spezielle Debug-Symbole in den kompilierten Code einzutragen, die das Debuggen erleichtern. Auch dieses Attribut wird auf allen Beispielseiten des Buches verwendet.


Achtung   Wenn Sie Seiten jedoch produktiv einsetzen, sollten Sie Debug="false" einstellen, weil sonst ein unnötiger Overhead erzeugt wird.

Das Attribut Strict="True" ist nur wirksam, wenn die Sprache VB.NET verwendet wird. Es bewirkt, dass der VB.NET-Code mit Option Strict kompiliert wird. Das bedeutet zweierlei:

gp  E Variablen müssen stets deklariert und auch typisiert werden.
gp  Implizite Typkonvertierungen sind nur von einem engeren zu einem weiteren Typ möglich, z. B. LongTypVar = IntegerTypVar. Typeinengende Konvertierungen, z. B. IntegerTypVar = LongTypVar, müssen dagegen stets explizit erfolgen.

Um einen sauberen Programmierstil zu fördern, wird in allen Beispielen im Buch diese strikte Vorgabe befolgt. Dabei stehen einem kleinen Nachteil mehrere große Vorteile gegenüber, die sich langfristig auszahlen. Der Nachteil: Der Entwickler muss lernen, wann er überhaupt konvertieren muss, und sich dafür eine Handvoll Konvertierungsfunktionen merken. Die Vorteile:

gp  Der Entwickler ist gezwungen, sich genau klarzumachen, was eigentlich passiert. Die Strenge bei der Codierung fördert die Klarheit beim Denken.
gp  Der Code enthält weniger Fehler.
gp  Das Erlernen einer Sprache wie C# fällt leichter, weil auch hier explizit konvertiert werden muss.

Galileo Computing

4.1.2 Der serverseitige Skript-Block  downtop

<script runat="server"> ... </script>

Der Skript-Block enthält die Definition globaler Variablen und von Prozeduren und Funktionen. Dieser Block darf keine frei stehenden Anweisungen enthalten. Jeder Code mit Ausnahme von Variablendeklarationen muss im Rahmen einer Sub oder Function stehen.

Oft finden Sie hier Ereignisprozeduren wie etwa Page_Load. Sie können aber auch beliebige eigene Prozeduren erstellen.


Achtung   Vergessen Sie beim Anlegen des Skript-Blocks nicht das Attribut runat="server". Wenn Sie das vergessen sollten, wird der Code nicht auf dem Server ausgeführt, sondern zum Browser geschickt. Der aber kann mit dem hier definierten Code nichts anfangen.


Galileo Computing

4.1.3 Der Block mit HTML-Code  toptop

Der HTML-Code-Block gehorcht zunächst einmal den Regeln der traditionellen HTML-Programmierung. In diesen herkömmlichen HTML-Code werden außerdem die speziellen ASP.NET-Steuerelemente eingefügt, die Sie im Laufe dieses Buches kennen lernen werden. Diese haben die Form <asp:Name Attribut="Wert" ... > ... </asp:Name> und gehorchen der XML-Syntax. Die Tags müssen also auch korrekt geschlossen werden. Hier ein Beispiel:

<asp:Label id="ausgabe" runat="server" />

Bei einigen serverseitigen Steuerelementen erlaubt ASP.NET Ausnahmen von der Regel, dass ein Tag auch geschlossen werden muss. Wenn man aber immer auch ein schließendes Tag setzt beziehungsweise die gezeigte abkürzende Schreibweise verwendet, dann macht man garantiert nichts falsch.

Bei der Auswertung einer aspx-Seite wertet ASP.NET diese serverseitigen Steuerelemente aus und generiert daraus HTML-Code. Dort, wo Sie bei der herkömmlichen ASP-Programmierung mit Code-Schnipseln in der Form <% ... %> arbeiten mussten, können Sie bei ASP.NET stattdessen sehr oft diese neu eingeführten serverseitigen Steuerelemente verwenden.

Zusätzlich ist es aber immer noch möglich, im HTML-Block Code-Schnipsel einzufügen. Den Inhalt einer String-Variablen können Sie beispielsweise nach wie vor in dieser Form ausgeben:

<% = myVar %>
  

Einstieg in VB.NET

VB.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML




Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de