ASP.NET - händelser
- Föregående sida WebForms kontroller
- Nästa sida WebForms formulär
Händelsehanterare (event handler) är ett underprogram som utför kod för en given händelse.
ASP.NET - händelsehanterare
Se följande kod nedan:
<% lbl1.Text="The date and time is " & now() %> <html> <body> <form runat="server"> <h3><asp:label id="lbl1" runat="server" /></h3> </form> </body> </html>
När kommer ovanstående kod att köras? Svaret är: 'Jag vet inte...'
Page_Load-händelse
Page_Load-händelsen är en av de många ASP.NET-händelser som kan förstås. Page_Load-händelsen utlösas när sidan laddas, och sedan anropar ASP.NET automatiskt underprogrammet Page_Load och kör koden i det:
<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>
Kommentarer:Detta Page_Load-händelse innehåller ingen objektreferens eller händelseparameter!
Page.IsPostBack-egenskapen
Page_Load underprogrammet körs varje gång sidan laddas. Om du bara vill köra koden i Page_Load-underprogrammet vid första laddningen av sidan kan du använda Page.IsPostBack-egenskapen. Om Page.IsPostBack-egenskapen är false, laddas sidan första gången, om den är true, returnerar sidan till servern (t.ex. genom att klicka på en knapp i formuläret):
<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>
Ovanstående exempel skapar endast vid första laddningen av sidan meddelandet "The date and time is...." När användaren klickar på Submit-knappen kommer submit-underprogrammet att skapa "Hello World!" i den andra etiketten, men datum och tid i den första etiketten ändras inte.
- Föregående sida WebForms kontroller
- Nästa sida WebForms formulär