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
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/>
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
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.