Cómo: Consumir eventos en una aplicación de formularios Web Forms
Un escenario común en las aplicaciones de formularios Web Forms es rellenar una página Web con controles y, a continuación, realizar una acción concreta basada en el control en el que el usuario hace clic. Por ejemplo, un control System.Web.UI.WebControls.Button provoca un evento cuando el usuario hace clic en él en la página web. Controlando el evento, la aplicación puede ejecutar la lógica de aplicación adecuada para ese clic del botón.
Para obtener información sobre el modelo de programación de formularios Web Forms, vea Programar formularios Web Forms.
Para controlar un evento de clic de botón en una página Web
Cree una página de formularios Web Forms (página ASP.NET) que tenga un control Button.
<asp:Button id = "Button" Text = "Click Me" runat = server/>
Defina un controlador de eventos que coincida con la firma de delegado del evento Click. El evento Click usa la clase EventHandler para el tipo de delegado y la clase EventArgs para los datos del evento.
Establezca el atributo OnClick del elemento Button en el método de controlador de eventos.
<asp:Button id = "Button" OnClick = "Button_Click" Text = "Click Me" runat = server/>
Nota Un desarrollador de aplicaciones de formularios Web Forms puede conectar el evento mediante declaración tal y como se muestra, sin trabajar directamente con el delegado.El marco de trabajo de la página ASP.NET genera código que crea una instancia de EventHandler que hace referencia a Button_Click y agrega esta instancia del delegado al evento Click de la instancia de Button.
Ejemplo
La siguiente página de formularios Web Forms controla el evento Click de Button para cambiar el color de fondo de TextBox.
Nota sobre la seguridad |
---|
En este ejemplo hay un cuadro de texto que acepta datos del usuario, lo que puede suponer una amenaza para la seguridad.De forma predeterminada, las páginas web ASP.NET validan los datos escritos por el usuario para comprobar que no incluyen script ni elementos HTML.Para obtener más información, vea Información general sobre los ataques mediante scripts. |
<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>
Compilar el código
Para ver cómo funciona el control de eventos en los formularios Web Forms, guarde la página de ejemplo en un archivo con extensión .aspx (que indica que el archivo es una página ASP.NET) y sitúelo en cualquier parte del directorio raíz virtual de IIS.