Compartilhar via


Como: Conectar várias evento s a um único evento manipulador em páginas da Web do ASP.NET

Se você já tiver um manipulador de eventos, é possível vincular múltiplos eventos de controle a ele.Esses eventos múltiplos podem ser do mesmo controle ou um evento de vários controles diferentes, desde que todos os eventos tenham a mesma assinatura de método.Por exemplo, você pode querer vincular os eventos Click de vários controles de servidor Button em uma página ASP.NET a um único manipulador de eventos.Quando o manipulador é chamado, você pode determinar que controle causou o evento.

Para se conectar múltiplos eventos a um manipulador de eventos único

  • Na marcação da página, adicione o mesmo nome de evento e nome do método a cada controle, como no exemplo de código a seguir.

    <asp:Button ID="Button1" onclick="Button_Click"  
      Text="Button1" /> 
    <br />
    <asp:Button ID="Button2" onclick="Button_Click" 
      Text="Button2" />
    
    Observação:

    Certifique-se que o método possui a assinatura correta para o evento que ele está tratando.

Para conectar múltiplos eventos a um manipulador de eventos único no Visual Basic

  • Modificar a cláusula Trata de um método adicionando os nomes dos eventos que o método deve tratar.Separe os nomes dos evento com vírgulas.

    O exemplo de código a seguir mostra como você pode vincular o método Button_Click a eventos gerados por três controles Button.

    Sub Button_Click (ByVal sender as System.Object, _
        ByVal e as System.EventArgs) _
        Handles Button1.Click, Button2.Click, Button3.Click
    
    Observação:

    Se você usar uma cláusula Trata para vincular um evento e método, não inclua também o atributo do evento na marcação.Por exemplo, não inclua um atributo onClick na marcação de um controle Button.Se você fizer isso, o método será chamado duas vezes.

Para determinar que controle lançou o evento

  1. No manipulador de eventos, declare uma variável cujo tipo corresponde os controles que lançaram o evento.

  2. Atribua o primeiro argumento do manipulador de eventos à variável, direcionando-o para o tipo apropriado.

    O exemplo de código a seguir mostra o manipulador para um evento Click do controle Button que é chamado por vários botões diferentes.O manipulador exibe a propriedade ID do botão que causou o evento.

    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
    
    private void Button_Click(object sender, System.EventArgs e)
        {
            Button b = (Button) sender;
            Label1.Text = b.ID;
        }
    

Consulte também

Outros recursos

Tratamento de Evento de servidor em páginas da Web ASP.NET