Compartir a través de


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

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

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

    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 de seguridadNota 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.

Vea también

Conceptos

Eventos y delegados

Utilizar eventos

Provocar un evento

Otros recursos

Controlar y provocar eventos