Latest web development tutorials

obsługi zdarzeń ASP.NET

Jest to procedura obsługi zdarzenia dla danego zdarzenia na wykonanie kodu w podprogramie.


ASP.NET - obsługi zdarzeń

Rozważmy następujący 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>

Powyższy kod będzie wykonywany kiedy? Odpowiedź brzmi: "nie wiem ...."


zdarzenie Page_Load

Zdarzenie Page_Load jest jednym z wielu zdarzeń ASP.NET zrozumiałe. Zdarzenie Page_Load jest wyzwalany, gdy strona jest ładowana, ASP.NET automatycznie zadzwoni Page_Load podprogramu i wykonuje kod:

Przykłady

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

Demonstracja >>

Uwaga: Zdarzenie Page_Loadnie zawiera żadnych odwołań do obiektów ani argumentów zdarzeń!


Obiekt Page.IsPostBack

Page_Load podprogram działa, gdy strona jest ładowana za każdym razem. Jeśli chcesz wykonać Page_Load kodu podprogramu gdy strona ładuje pierwsze, można użyć właściwości Page.IsPostBack. . Jeżeli nieruchomość Page.IsPostBack jest ustawiona na false, strona jest już załadowany Jeśli ma wartość true, wówczas strona jest przesyłany z powrotem do serwera (na przykład klikając na przycisk na formularzu):

Przykłady

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

Demonstracja >>

Powyższe przykłady pokazują, "data i czas to ...." tylko komunikat, gdy strona zostanie załadowana najpierw. Gdy użytkownik kliknie przycisk Prześlij jest przedłożyć podprogram będzie napisać "Hello World!" W drugiej etykiecie, ale data i czas pierwszej etykiety nie ulegnie zmianie.