Share via


Como: Consumir eventos em um aplicativo de formulários da Web

Um cenário comum em aplicativos de formulários web é preencher um página da Web com controles e em seguida, executar uma ação específica com base no que controle que o usuário clica.Por exemplo, um controle System.Web.UI.WebControls.Button gera um evento quando o usuário clica nele no formulário.Ao manipular o evento, seu aplicativo pode executar a lógica apropriada do aplicativo apropriado para esse clique.

Para obter informações sobre o modelo de programação de formulários web, consulte Programando Formulários Web.

Para tratar um evento de clique de botão em uma página da Web

  1. Crie uma página de formulário Web (página ASP.NET) que tem um controle Button.

    <asp:Button id = "Button" Text = "Click Me" runat = server/>
    
  2. Defina um manipulador de eventos que corresponda à assinatura Click do representante de eventos .O evento Click usa a classe EventHandler para o tipo representante e a classe EventArgs para os dados do evento.

    void Button_Click(object sender, EventArgs e)
    {...}
    
    Sub Button_Click(sender As Object, e As EventArgs)
    ...
    End Sub
    
  3. Defina o atributo OnClick no elemento Button para o método manipulador de eventos.

    <asp:Button
            id = "Button" OnClick = "Button_Click" Text = "Click Me" 
            runat = server/>
    
    Observação:

    Um desenvolvedor de aplicativos de formulários Web pode ligar o evento declarativamente, conforme mostrado, sem trabalhar diretamente com o representante.A estrutura página ASP.NET gera o código que cria uma instância de EventHandler que faz referência a Button_Click e adiciona essa instância do delegado para o clicar evento do Botão instância.

Exemplo

A seguinte página de formulário Web manipula o evento Click de Button para alterar o cor do plano de fundo da TextBox.Os elementos em negrito no exemplo mostram o manipulador de eventos e como ele é ligado ao evento Click do Button.

Observação de segurança:

Este exemplo tem uma caixa de texto que aceita entrada do usuário, que é uma ameaça potencial de segurança.Por padrão, páginas Web ASP.NET validam se as entradas de usuário não incluem scripts ou elementos HTML.Para obter mais informações, consulte Visão Geral de Scripts Maliciosos.

 [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>

Compilando o código

Para ver como funciona a manipulação de eventos em formulários web, salve a página de exemplo em um arquivo com extensão .ASPX (que indica que o arquivo é uma página ASP.NET) e a implemente em qualquer lugar no seu diretório raiz virtual do IIS.

Consulte também

Conceitos

Eventos e representantes

Consumindo Eventos

Gerando um evento

Outros recursos

Tratamento e disparada de eventos