tutoriais mais recente desenvolvimento web
 

ASP.NET Web Forms - Eventos


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.