ASP.NET - wydarzenia

Obsługa wydarzeń (event handler) to procedura służąca do wykonywania kodu dla danego wydarzenia.

ASP.NET - obsługa wydarzeń

Zobacz poniższy kod:

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

Kiedy ten kod zostanie wykonany? Odpowiedź brzmi: "Nie wiem..."

Wydarzenie Page_Load

Wydarzenie Page_Load jest jednym z wielu wydarzeń rozumianych przez ASP.NET. Wydarzenie Page_Load jest wywoływane podczas ładowania strony, a następnie ASP.NET automatycznie wywołuje procedurę Page_Load i wykonuje kod w niej zawarty:

<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>

Komentarz:Wydarzenie Page_Load nie zawiera odniesień do obiektów ani parametrów zdarzenia!

Wyświetl ten przykład

Właściwość Page.IsPostBack

Podprocedura Page_Load będzie uruchamiana przy każdym ładowaniu strony. Jeśli chcesz wykonać kod w podprocedurze Page_Load tylko podczas pierwszego ładowania strony, możesz użyć właściwości Page.IsPostBack. Jeśli właściwość Page.IsPostBack wynosi false, strona jest ładowana po raz pierwszy, jeśli wynosi true, strona jest wysyłana z powrotem do serwera (np. poprzez kliknięcie przycisku na formularzu):

<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>

Powyższy przykład tworzy wiadomość "The date and time is...." podczas pierwszego ładowania strony. Kiedy użytkownik kliknie przycisk Submit, podprocedura submit tworzy "Hello World!" w drugim label, ale data i czas w pierwszym label nie zmieniają się.

Wyświetl ten przykład