Gewusst wie: Verarbeiten von Ereignissen in einer Web Forms-Anwendung

Aktualisiert: November 2007

In Web Forms-Anwendungen wird häufig eine Webseite mit Steuerelementen gefüllt und dann basierend auf dem Steuerelement, auf das der Benutzer klickt, ein bestimmter Vorgang ausgelöst. So löst z. B. ein System.Web.UI.WebControls.Button-Steuerelement ein Ereignis aus, wenn der Benutzer in der Webseite darauf klickt. Indem sie das Ereignis behandelt, kann die Anwendung die dem Klicken auf die Schaltfläche entsprechende Anwendungslogik ausführen.

Informationen zum Web Forms-Programmiermodell finden Sie unter Programmieren von Web Forms.

So behandeln Sie ein Click-Ereignis für eine Schaltfläche auf einer Webseite

  1. Erstellen Sie eine Web Forms-Seite (ASP.NET-Seite) mit einem Button-Steuerelement.

    <asp:Button id = "Button" Text = "Click Me" runat = server/>
    
  2. Definieren Sie einen Ereignishandler, der der Signatur des Delegaten für das Click-Ereignis entspricht. Das Click-Ereignis verwendet die EventHandler-Klasse für den Delegattyp und die EventArgs-Klasse für die Ereignisdaten.

    void Button_Click(object sender, EventArgs e)
    {...}
    
    Sub Button_Click(sender As Object, e As EventArgs)
    ...
    End Sub
    
  3. Legen Sie das OnClick-Attribut im Button-Element auf die Ereignishandlermethode fest.

    <asp:Button
            id = "Button" OnClick = "Button_Click" Text = "Click Me" 
            runat = server/>
    
    Hinweis:

    Ein Entwickler einer Web Forms-Anwendung kann das Ereignis, wie dargestellt, deklarativ verknüpfen, ohne den Delegaten direkt zu bearbeiten. Das ASP.NET-Seitenframework generiert Code, der eine Instanz von EventHandler erstellt, die auf Button_Click verweist, und diese Delegatinstanz dem Click-Ereignis der Button-Instanz hinzufügt.

Beispiel

Die folgende Web Forms-Seite behandelt das Click-Ereignis von Button, um die Hintergrundfarbe von TextBox zu ändern. Die in diesem Beispiel fett dargestellten Elemente zeigen den Ereignishandlercode und veranschaulichen, wie der Ereignishandler mit dem Click-Ereignis von Button verknüpft wird.

Sicherheitshinweis:

Dieses Beispiel enthält ein Textfeld, das eine Benutzereingabe akzeptiert. Diese stellt ein potenzielles Sicherheitsrisiko dar. Standardmäßig stellt die ASP.NET-Seite sicher, dass die Benutzereingabe keine Skript- oder HTML-Elemente enthält. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

 [C#]
<html>
   <script language="C#" runat=server> 
      private void Button_Click(object sender, EventArgs e){         Box.BackColor = System.Drawing.Color.LightGreen;      }
   </script>
   <body> 
      <form method="POST" action="Events.aspx" runat=server>   
          Click the button, and notice the color of the text box.<br><br>
         <asp:TextBox 
         id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>             
         <br><br>       
        <asp:Button
        id = "Button" OnClick = "Button_Click" Text = "Click Me" 
        runat = server/>         
      </form>
   </body>
</html>
<html>
   <script language="VB" runat=server> 
      Private Sub Button_Click(sender As Object, e As EventArgs)         Box.BackColor = System.Drawing.Color.LightGreen
      End Sub
   </script>
   <body> 
      <form method="POST" action="Events.aspx" runat=server>   
          Click the button, and notice the color of the text box.<br><br>
         <asp:TextBox 
         id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>             
         <br><br>       
        <asp:Button
        id = "Button" OnClick = "Button_Click" Text = "Click Me" 
        runat = server/>         
      </form>
   </body>
</html>

Kompilieren des Codes

Wenn Sie ausprobieren möchten, wie die Ereignisbehandlung in Web Forms funktioniert, speichern Sie die Beispielseite in einer Datei mit der Erweiterung .aspx (diese kennzeichnet die Datei als ASP.NET-Seite), und stellen Sie sie im virtuellen Stammverzeichnis von IIS bereit.

Siehe auch

Konzepte

Ereignisse und Delegaten

Behandeln von Ereignissen

Auslösen eines Ereignisses

Weitere Ressourcen

Behandeln und Auslösen von Ereignissen