نماذج ويب ASP.NET - الأحداث
معالج الأحداث هو روتين فرعي ينفذ تعليمات برمجية لحدث معين.
عند تشغيل حدث ذي صلة في ASP.NET، سيتم استدعاء الروتين الفرعي للحدث. يرجى الاطلاع أدناه للحصول على التفاصيل.
يرجى إلقاء نظرة على الكود أدناه:
<%lbl1.Text="التاريخ والوقت هما " & now()%><html><body><form runat="server"><h3><asp:label id="lbl1" runat="server" /></h3></form></body></html>
متى سيتم تنفيذ الكود أعلاه؟ الجواب هو: "لا أعرف...".
يعد الحدث Page_Load أحد الأحداث العديدة التي يفهمها ASP.NET. سيتم تشغيل الحدث Page_Load عند تحميل الصفحة، وسيقوم ASP.NET تلقائيًا باستدعاء الإجراء الفرعي Page_Load وتنفيذ التعليمات البرمجية الموجودة فيه:
<script runat="server">Sub Page_Loadlbl1.Text="التاريخ والوقت هو " & now()End Sub</script><html><body><form runat="server"><h3><asp: تسمية معرف = "lbl1" runat = "الخادم" /></h3></form></body></html>
ملاحظة: لا يحتوي حدث Page_Load على مراجع كائنات أو معلمات أحداث!
يتم تشغيل الروتين الفرعي Page_Load في كل مرة يتم فيها تحميل الصفحة. إذا كنت تريد فقط تنفيذ التعليمات البرمجية الموجودة في الروتين الفرعي Page_Load عند تحميل الصفحة لأول مرة، فيمكنك استخدام خاصية Page.IsPostBack. إذا تم تعيين الخاصية Page.IsPostBack على خطأ، فسيتم تحميل الصفحة لأول مرة، وإذا تم تعيينها على صواب، فسيتم نشر الصفحة مرة أخرى إلى الخادم (على سبيل المثال، عن طريق النقر فوق زر في النموذج):
<script runat="server">Sub Page_Loadif ليس Page.IsPostBack ثمlbl1.Text="التاريخ والوقت هما " & now()end ifEnd SubSub Submit(s As Object, e As EventArgs)lbl2.Text="Hello World! "النهاية الفرعية</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>
يعرض المثال أعلاه فقط رسالة "التاريخ والوقت..." في المرة الأولى التي يتم فيها تحميل الصفحة. عندما ينقر المستخدم على زر إرسال، سيكتب روتين الإرسال الفرعي "Hello World!" في الملصق الثاني، لكن التاريخ والوقت في الملصق الأول لن يتغير.
ما ورد أعلاه هو شرح لاستخدام معالجات أحداث ASP.NET.