9.5 Senden und Auswerten von Formulardaten 

Für eine Kommunikation mit dem Webserver werden, wie bei einer Suchmaschine, Eingabeformulare mit Eingabe- und Auswahlelementen benötigt.
Kommunikation
Im nachfolgenden Programm kann der Benutzer zwei Zahlen eingeben. Diese werden zum Webserver gesendet und dort addiert. Das Ergebnis wird wieder zurück zum Browser des Benutzers gesendet. Zunächst erscheint das leere Eingabeformular, siehe Abbildung 9.5.
Abbildung 9.5 Formular, vor dem Füllen und Absenden
Nach der Eingabe und dem Absenden erscheint das Ergebnis, wie in Abbildung 9.6.
Abbildung 9.6 Formular, nach Empfang des Ergebnisses
Es folgt der Code der Seite default.aspx in der Web-Anwendung mit dem Namen WebFormular:
<html> <head> <title>WebFormular</title> <%@ page language="VB" %> <script runat="server"> Sub Page_Load() Dim z1, z2, z As Double If IsPostBack Then Try z1 = Convert.ToDouble(zahl1.Value) Catch ex As Exception z1 = 0 End Try Try z2 = Convert.ToDouble(zahl2.Value) Catch ex As Exception z2 = 0 End Try z = z1 + z2 ergebnis.Text = "Ergebnis: " & z End If End Sub </script> </head> <body> <p>Addieren</p> <form id="Form1" runat="server"> <p><input runat="server" id="zahl1" type="text" /> Zahl 1</p> <p><input runat="server" id="zahl2" type="text" /> Zahl 2</p> <p><input id="Submit1" runat="server" type="submit" value="Senden" /></p> </form> <p><asp:Label id="ergebnis" runat="server" /></p> </body> </html>
Listing 9.6 Projekt »WebFormular«, Datei »default.aspx«
Zur Erläuterung des Visual Basic-Blocks:
IsPostBack
- Die Prozedur Page_Load() enthält eine Verzweigung. Mithilfe der Eigenschaftsmethode IsPostBack der Klasse Page wird entschieden, ob die Seite zum ersten Mal aufgerufen wird oder ob sie sich selber aufruft, nachdem der Benutzer sie mit Eingabedaten gesendet hat.
Value
- Die Elemente zahl1 und zahl2 repräsentieren die beiden Eingabefelder für die beiden Zahlen, die addiert werden sollen. Die Eigenschaftsmethode Value liefert die eingegebene Zeichenkette. Sie wird mit der Methode ToDouble() in eine Double-Zahl verwandelt.
- Das Element ergebnis ist ein Label, in dem das Ergebnis der Berechnung ausgegeben wird.
Zur Erläuterung des HTML-Containers:
form
- Nach der Überschrift folgt der Container <form> ... </form>. Innerhalb eines solchen Containers werden die Formularelemente notiert. Nur die Eingabedaten in diesen Formularelementen werden zum Webserver gesendet.
input
- Das Formularelement <input type="text"> erzeugt ein Textfeld zur Eingabe.
submit
- Das Formularelement <input type="submit"> erzeugt einen Sende-Button. In der Eigenschaft value wird die Aufschrift für den Sende-Button notiert.
Anmerkung: Programmierer mit HTML-Kenntnissen erkennen im generierten HTML-Quellcode noch versteckte Formularelemente (<input type="hidden" />) und div-Container. Da der Code aber automatisch generiert wird, muss der Programmierer die Inhalte nicht mehr kennen. Es reichen Visual Basic-Kenntnisse und elementare HTML-Kenntnisse aus.