ASP.NET - Eventi

Un gestore di eventi (event handler) è una subroutine che esegue codice per un evento specifico.

ASP.NET - Gestore di eventi

Vediamo il codice seguente:

<%
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 viene eseguito il codice sopra? La risposta è: 'Non lo so...'

Evento Page_Load

L'evento Page_Load è uno degli eventi comprensibili di ASP.NET. L'evento Page_Load viene attivato durante il caricamento della pagina, quindi ASP.NET chiama automaticamente la subroutine Page_Load e esegue il codice al suo interno:

<script runat="server">
Sub Page_Load
lbl1.Text="The date and time is " & now()
Fine Sub
</script>
<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

Note:L'evento Page_Load non contiene riferimenti agli oggetti o parametri dell'evento!

Mostra questo esempio

Proprietà Page.IsPostBack

La subroutine Page_Load viene eseguita ogni volta che la pagina viene caricata. Se si desidera eseguire il codice della subroutine Page_Load solo una volta durante il caricamento iniziale della pagina, si può utilizzare l'attributo Page.IsPostBack. Se l'attributo Page.IsPostBack è false, la pagina viene caricata per la prima volta, se è true, la pagina viene inviata al server (ad esempio, tramite il clic su un pulsante di un modulo):

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  lbl1.Text="The date and time is " & now()
fine if
Fine Sub
Sub Submit(s As Object, e As EventArgs)
lbl2.Text="Hello World!"
Fine 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>

L'esempio sopra viene creato una volta sola durante il caricamento iniziale della pagina con il messaggio "The date and time is....". Quando l'utente clicca sul pulsante Submit, la subroutine submit crea "Hello World!" nel secondo label, ma la data e l'ora nel primo label non cambiano.

Mostra questo esempio