如何:将多个事件连接到 ASP.NET 网页中的单个事件处理程序


此页面仅适用于
Microsoft Visual Studio 2005/.NET Framework 2.0

同时提供下列产品的其他版本:
ASP.NET
如何:将多个事件连接到 ASP.NET 网页中的单个事件处理程序

如果已具有一个事件处理程序,可以将几个控件事件绑定到该事件处理程序。只要事件全部具有相同的方法签名,则这几个事件可以来自同一个控件,而一个事件也可以来自数个不同的控件。例如,您可能希望将 ASP.NET 页上几个 Button 服务器控件的 Click 事件绑定到单个事件处理程序。在调用处理程序后,您可以确定哪个控件引发了事件。

将多个事件连接到单个事件处理程序

  • 在页标记中,向每个控件添加相同的事件名称和方法名称,如下面的代码示例所示。

    <asp:Button ID="Button1" οnclick="Button_Click" runat="server" 
      Text="Button1" /> 
    <br />
    <asp:Button ID="Button2" οnclick="Button_Click" runat="server"
      Text="Button2" />
    Note注意

    必须确保方法具有它处理的事件的正确签名。

在 Visual Basic 中将多个事件连接到单个事件处理程序

  • 通过添加某方法应当处理的事件的名称修改该方法的 Handles 子句。使用逗号分隔事件名称。

    下面的代码示例说明如何将 Button_Click 方法绑定到由三个 Button 控件引发的事件。

    Visual Basic
    Sub Button_Click (ByVal sender as System.Object, _
        ByVal e as System.EventArgs) _
        Handles Button1.Click, Button2.Click, Button3.Click
    Note注意

    如果使用 Handles 子句绑定事件和方法,则也不要在标记中包含事件属性。例如,不要在 Button 控件的标记中包含 onClick 属性。如果您这样做,将会调用该方法两次。

确定哪个控件引发了事件

  1. 在事件处理程序中,声明其类型与引发事件的控件匹配的变量。

  2. 将事件处理程序的第一个参数分配给变量,并将它强制转换为适当的类型。

    下面的代码示例显示由几个不同按钮调用的 Button 控件的 Click 事件的处理程序。该处理程序显示引发事件的按钮的 ID 属性。

    Visual Basic
    Private Sub Button_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) _
        Handles Button1.Click, Button2.Click, Button3.Click
            Dim b As Button = CType(sender, Button)
            Label1.Text = b.ID
    End Sub

    C#
    private void Button_Click(object sender, System.EventArgs e)
        {
            Button b = (Button) sender;
            Label1.Text = b.ID;
        }

请参见

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值