如何:在 Web 窗体应用程序中使用事件
Web 窗体应用程序中的一种常见情况是使用控件填充网页,然后根据用户单击的控件执行特定操作。 例如,当用户在网页中单击 System.Web.UI.WebControls.Button 控件时,该控件会引发一个事件。 通过处理该事件,应用程序可以针对该按钮单击操作执行适当的应用程序逻辑。
有关“Web 窗体”编程模型的信息,请参见 Web 窗体编程。
处理网页上的按钮单击事件
创建一个具有 Button 控件的 Web 窗体页(ASP.NET 页)。
<asp:Button id = "Button" Text = "Click Me" runat = server/>
定义一个与 Click 事件委托签名匹配的事件处理程序。 Click 事件将 EventHandler 类用于委托类型,将 EventArgs 类用于事件数据。
将 Button 元素中的 OnClick 特性设置为事件处理程序方法。
<asp:Button id = "Button" OnClick = "Button_Click" Text = "Click Me" runat = server/>
注意 Web 窗体应用程序开发人员可以按照所示以声明方式处理事件,而不必直接使用委托。ASP.NET 页框架生成创建 EventHandler 实例的代码,T:System.EventHandler 引用 Button_Click 并将此委托实例添加到 Button 实例的 Click 事件中。
示例
以下 Web 窗体页处理 Button 的 Click 事件以改变 TextBox 的背景色。
安全说明 |
---|
此示例有一个接受用户输入的文本框,这是一个潜在的安全威胁。默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 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>
<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>
编译代码
要查看 Web 窗体中事件处理如何工作,请将示例页保存为一个带有 .aspx 扩展名(这表示该文件是一个 ASP.NET 页)的文件,并将其部署在您的 IIS 虚拟根目录中任意一处。