Compartir a través de


Cómo: Consumir eventos en una aplicación de formularios Web Forms

Actualización: noviembre 2007

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 utiliza la clase EventHandler para el tipo de delegado y la clase EventArgs para los datos del evento.

    void Button_Click(object sender, EventArgs e)
    {...}
    
    Sub Button_Click(sender As Object, e As EventArgs)
    ...
    End Sub
    
  3. Establezca el atributo OnClick del elemento Button en el método 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 un 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. Los elementos en negrita que aparecen en este ejemplo muestran el código del controlador de eventos y cómo se conecta al evento Click de Button.

Nota de 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 secuencias de comandos ni elementos HTML. Para obtener más información, vea Información general sobre los ataques mediante secuencias de comandos.

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

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