Un controlador de eventos es una subrutina que ejecuta el código para un evento dado.
ASP.NET - controladores de eventos
Mira 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>
Cuando el código anterior se puede ejecutar? La respuesta es: "You don't know..."
El evento Page_Load
El evento Load es uno de muchos eventos que ASP.NET entiende. El evento Page_Load se activa cuando se carga una página, y ASP.NET llamará automáticamente a la subrutina Page_Load, y ejecutar el código en su interior:
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 » Note: El evento Page_Load no contiene referencias a objetos o argumentos del evento!
La propiedad Page.IsPostBack
La subrutina Page_Load se ejecuta cada vez que se carga la página. Si desea ejecutar el código en la subrutina Page_Load sólo la primera vez que se carga la página, puede utilizar la propiedad Page.IsPostBack. Si la propiedad Page.IsPostBack es falsa, la página se carga por primera vez, si bien es cierto, la página se devuelve al servidor (es decir, de un clic de botón en un 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 escribir la "The date and time is...." mensaje solamente la primera vez que se carga la página. Cuando un usuario hace clic en el botón Enviar, la subrutina presentar escribirá "Hello World!" a la segunda etiqueta, pero la fecha y la hora en la primera etiqueta no cambiarán.