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 Webserversteuerelemente
  gp 8.1 Webserversteuerelemente formatieren
    gp 8.1.1 Die FontInfo-Klasse
    gp 8.1.2 Die System.Drawing.Color-Struktur
    gp 8.1.3 Die Klasse Unit und die Enumeration UnitType
  gp 8.2 Button
    gp 8.2.1 OnClick
    gp 8.2.2 OnCommand
  gp 8.3 LinkButton
  gp 8.4 ImageButton
  gp 8.5 HyperLink
  gp 8.6 Label
  gp 8.7 Literal
  gp 8.8 Panel
  gp 8.9 TextBox
    gp 8.9.1 Mit JavaScript den Fokus setzen
  gp 8.10 CheckBox
  gp 8.11 Image
  gp 8.12 Webserversteuerelemente für Tabellen
  gp 8.13 RadioButton
  gp 8.14 Calendar
  gp 8.15 AdRotator
  gp 8.16 E-Mails versenden
    gp 8.16.1 Versand von E-Mails mit der Klasse SmtpMail
    gp 8.16.2 E-Mails mit der Klasse MailMessage erstellen


Galileo Computing

8.2 Button  downtop


Klasse System.Web.UI.WebControls.Button
Deklaration <asp:Button id="MyButton"
Text=" OK "
CausesValidation="true | false"
OnClick="OnClick-Methode"
OnCommand="OnCommand-Methode"
CommandName="command"
CommandArgument="commandargument"
runat="server"/>
Erzeugter HTML-Code <input type="submit" ... /> oder <input type="button" ... />
Kurzcharakteristik Das Button-Webserversteuerelement erstellt eine Schaltfläche mit der Beschriftung, die im Attribut Text festgelegt wird. Wenn die Schaltfläche ein Formular abbrechen soll, kann mit CausesValidation = "false" die Validierung abgeschaltet werden.

In der Minimalversion hat das Button-Webserversteuerelement diese Form:

<asp:Button id="btnOK"
            Text=" OK "
            runat="server"/>

Wenn Sie keine Ereignisprozedur mit OnClick und kein Kommando mit CommandName definieren, erzeugt das Button-Steuerelement im HTML-Code den gewöhnlichen Submit-Button, der beim Anklicken die jeweilige Seite zum Server sendet:

<input type="submit" name="btnOK" value=" OK " id="btnOK" />

Galileo Computing

8.2.1 OnClick  downtop

Wenn Sie mit OnClick eine Ereignisprozedur definieren, wird diese nach dem Anklicken der Schaltfläche ausgelöst. webserver_button01.aspx zeigt ein einfaches Beispiel. Wenn der Anwender auf den Button klickt, wird zum Text des Label-Felds jeweils der Text Angeklickt! hinzugefügt. Abbildung 8.2 zeigt die Darstellung im Browser.

<!-- webserver_button01.aspx -->
<%@ Page Language="VB" Debug="True" Strict="True" %>
<script runat="server">
Sub btnOK_Click (Sender As Object, E As EventArgs)
  ausgabe.Text &= "Angeklickt! "
End Sub
</script>
<html><head>
<title>Webserversteuerelemente: Button</title>
</head><body>
<form runat="server" id ="myForm">
<asp:Label 
     id="ausgabe" 
     Text ="Bitte klicken! " 
     runat="server" />
<br><br>
<asp:Button id="btnOK"
            Text=" OK "
            runat="server"
            OnClick="btnOK_Click"  />
</form >
</body></html>

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 8.2 Dem Webserversteuerelement Button kann eine Ereignisprozedur zugewiesen werden.

Mit dem Attribut OnClick="btnOK_Click" verweist das Button-Element auf die Ereignisprozedur. Als Ereignisprozedur benötigt btnOK_Click auf jeden Fall die Signatur btnOK_Click (Sender As Object, E As EventArgs). Oft wird man die beiden Parameter, die hier geliefert werden, gar nicht benötigen. In manchen Situationen ist es aber hilfreich zu wissen, welches Objekt diese Ereignisprozedur ausgelöst hat (Sender) und welche weiteren Argumente unter Umständen verfügbar sind (E). Mit der Zeile ausgabe.Text &= "Angeklickt! " verlängert die Prozedur jeweils den Text des Labels.


Galileo Computing

8.2.2 OnCommand  toptop

Mit den Attributen CommandName und CommandArgument haben Sie eine Alternative zur Code-Ausführung. Diese Alternative bietet sich an, wenn mit Hilfe mehrerer Buttons ähnliche Prozeduren ausgeführt werden sollen, die sich jeweils nur geringfügig voneinander unterscheiden. Im Attribut OnCommand übergeben Sie den Namen der Ereignisprozedur. In CommandName und CommandArgument übergeben Sie Parameter.

webserver_button02.aspx enthält ein Beispiel. Drei Buttons färben den Hintergrund eines Label-Felds mit unterschiedlichen Farben.

<!-- webserver_button02.aspx -->
<script runat="server">
Sub setFarbe (Sender As Object, E As CommandEventArgs)
   Select Case E.commandName
      Case "rot"
         lblTest.BackColor=Drawing.Color.Red
      Case "gelb"
         lblTest.BackColor=Drawing.Color.Yellow
      Case "blau"
         lblTest.BackColor=Drawing.Color.Blue
   End Select
End Sub
</script>
<html><head>
<title>Webserversteuerelemente: Button</title>
</head><body>
<form runat="server" id ="myForm">
<asp:Label 
     id="lblTest" 
     Text ="    Test    " 
     runat="server" />
<br><br>
<asp:Button id="btnRot"
            Text=" Rot "
            runat="server"
            onCommand="setFarbe"
            CommandName="rot"
            CommandArgument="" />
<asp:Button id="btnGelb"
            Text=" Gelb "
            runat="server"
            onCommand="setFarbe"
            CommandName="gelb"
            CommandArgument="" />
<asp:Button id="btnBlau"
            Text=" Blau "
            runat="server"
            onCommand="setFarbe"
            CommandName="blau"
            CommandArgument="" />
</form ></body></html>

Alle drei Buttons haben das Attribut onCommand="setFarbe". Es wird also jeweils die gleiche Prozedur ausgeführt. Die Buttons unterscheiden sich im Attribut CommandName. Hier wird etwa mit CommandName="rot" die individuelle Farbe angegeben. Mit dem Parameter CommandArgument könnten weitere Parameter übergeben werden, was hier aber nicht nötig ist.

Die Prozedur setFarbe bringt über den Parameter E das commandName-Attribut in Erfahrung und reagiert entsprechend mit einer Select-Anweisung:

Select Case E.commandName ...
  

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