Um manipulador de eventos é uma sub-rotina que executa o código para um determinado evento.
ASP.NET - manipuladores de eventos
Olhe para o seguinte 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>
Quando é que o código seja acima executado? A resposta é: "You don't know..."
O evento Page_Load
O evento Page_Load é um dos muitos eventos que ASP.NET compreende. O evento Page_Load é acionado quando uma página é carregada, e ASP.NET irá automaticamente chamar o Page_Load sub-rotina, e executar o código dentro dele:
Exemplo
<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>
Mostrar exemplo » Note: O evento Page_Load não contém referências a objetos ou argumentos do evento!
A propriedade Page.IsPostBack
A sub-rotina Page_Load é executado a cada vez que a página é carregada. Se você quiser executar o código na sub-rotina Page_Load apenas a primeira vez que a página é carregada, você pode usar a propriedade Page.IsPostBack. Se a propriedade Page.IsPostBack é falso, a página é carregada pela primeira vez, se é verdade, a página é enviada de volta para o servidor (ou seja, a partir de um clique de botão em um formulário):
Exemplo
<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>
Mostrar exemplo » O exemplo acima irá escrever o "The date and time is...." mensagem apenas a primeira vez que a página é carregada. Quando um usuário clica no botão Enviar, a enviar sub-rotina vai escrever "Hello World!" para o segundo rótulo, mas a data e hora na primeira etiqueta não vai mudar.