Gewusst wie: Verarbeiten von Ereignissen in einer Web Forms-Anwendung
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
Erstellen Sie eine Web Forms-Seite (ASP.NET-Seite) mit einem Button-Steuerelement.
<asp:Button id = "Button" Text = "Click Me" runat = server/>
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.
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. Diese Delegatinstanz wird 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.
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. |
<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>
<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>
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.