ASP.NET Web Forms - Eventos


Un manejador de eventos es una subrutina que ejecuta código para un evento determinado.


ASP.NET - Manejadores de eventos

Mire el siguiente código:

<%
lbl1.Text="The date and time is " & now()
%>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

¿Cuándo se ejecutará el código anterior? La respuesta es: "No sé...".


Evento Page_Load

El evento Page_Load es uno de los muchos eventos que ASP.NET puede entender. El evento Page_Load se dispara cuando se carga la página. ASP.NET llama automáticamente a la subrutina Page_Load y ejecuta el código que contiene:

Ejemplo

<script runat="server">
Sub Page_Load
lbl1.Text="The date and time is " & now()
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

Ver ejemplo »

Nota:¡El evento Page_Load no incluye referencias a objetos ni parámetros de evento!


Propiedad Page.IsPostBack

La subrutina Page_Load se ejecuta cada vez que se carga la página. Si solo desea ejecutar el código de la subrutina Page_Load la primera vez que se carga la página, puede usar la propiedad Page.IsPostBack. Si la propiedad Page.IsPostBack está establecida en false, la página se carga por primera vez; si está establecida en true, la página se envía de vuelta al servidor (por ejemplo, al hacer clic en un botón del formulario):

Ejemplo

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
lbl1.Text="The date and time is " & now()
end if
End Sub

Sub submit(s As Object, e As EventArgs)
lbl2.Text="Hello World!"
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
<h3><asp:label id="lbl2" runat="server" /></h3>
<asp:button text="Submit" onclick="submit" runat="server" />
</form>
</body>
</html>

Ver ejemplo »

El ejemplo anterior solo muestra el mensaje "The date and time is..." la primera vez que se carga la página. Cuando el usuario hace clic en el botón Enviar, la subrutina submit escribirá "Hello World!" en la segunda etiqueta (label), pero la fecha y hora en la primera etiqueta no cambiarán.


Otras extensiones