ASP.NET - الحدث

معالج الحدث (event handler) هو دالة فرعية تنفذ كودًا استجابةً لحادث معين.

ASP.NET - معالج الحدث

انظر إلى الكود التالي:

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

متى سيتم تنفيذ الكود المذكور أعلاه؟ الإجابة هي: 'لا أعلم. . .'

حادثة Page_Load

حادثة Page_Load هي واحدة من العديد من الحوادث التي يمكن فهمها في ASP.NET. يتم تنفيذ حادثة Page_Load عند تحميل الصفحة، ثم يتم استدعاء الدالة Page_Load تلقائيًا من ASP.NET، ويتم تنفيذ الكود الموجود فيها:

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

التعليقات:حادثة Page_Load لا تحتوي على مرجع إلى كائن أو معلمات الحدث!

اعرض هذا المثال

خصية Page.IsPostBack

Subprocedure Page_Load سيتم تشغيلها في كل مرة يتم تحميل الصفحة. إذا كنت ترغب فقط في تنفيذ كود subprocedure Page_Load لأول مرة عند تحميل الصفحة، يمكنك استخدام خاصية Page.IsPostBack. إذا كانت خاصية Page.IsPostBack تساوي false، فإن الصفحة يتم تحميلها لأول مرة، وإذا كانت تساوي true، فإن الصفحة يتم إرسالها إلى الخادم (على سبيل المثال، عند النقر على زر في النموذج):

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

المثال أعلاه يتم إنشاؤه فقط عند تحميل الصفحة لأول مرة "The date and time is...." هذه الرسالة. عند ضغط المستخدم على زر Submit، يتم إنشاء subprocedure submit في label الثاني لإنشاء "Hello World!"، ولكن التاريخ والوقت في label الأول لن يتغير.

اعرض هذا المثال