Un gestore di eventi è una subroutine che esegue il codice per un dato evento.
ASP.NET - gestori di eventi
Guardate il seguente codice:
<%
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 finirà il codice di cui sopra essere eseguito? La risposta è: "You don't know..."
L'evento Page_Load
L'evento Page_Load è uno dei tanti eventi che ASP.NET capisce. L'evento Page_Load viene attivato quando la pagina viene caricata, e ASP.NET chiamerà automaticamente il Page_Load subroutine, ed eseguire il codice al suo interno:
Esempio
<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>
Visualizza l'esempio » Note: L'evento Page_Load non contiene riferimenti a oggetti o argomenti dell'evento!
Il Page.IsPostBack Proprietà
La subroutine Page_Load viene eseguito ogni volta che la pagina viene caricata. Se si desidera eseguire il codice nella subroutine Page_Load solo la prima volta che la pagina viene caricata, è possibile utilizzare la proprietà Page.IsPostBack. Se la proprietà Page.IsPostBack è falsa, la pagina viene caricata per la prima volta, se è vero, la pagina viene inviato al server (vale a dire da un pulsante click su una forma):
Esempio
<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>
Visualizza l'esempio » L'esempio precedente scrivere la "The date and time is...." messaggio solo la prima volta che la pagina viene caricata. Quando un utente fa clic sul pulsante Invia, la subroutine presentare scriverà "Hello World!" alla seconda etichetta, ma la data e l'ora nella prima etichetta non cambieranno.