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.
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:
- 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.
- 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:
- 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.
- Das Formularelement <input type="text"> erzeugt ein Textfeld zur Eingabe.
- 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.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.