التعامل مع الأحداث في برمجة صفحات الويب آي إس بي ASP.NET Event Handling#
التعامل مع الأحداث في برمجة صفحات الويب آي إس بي
ASP.NET Event Handling#
التعامل مع الأحداث في برمجة صفحات الويب آي إس بي ASP.NET Event Handling#
الحدث هو إجراء أو حدث ، مثل النقر بالماوس أو الضغط على المفتاح أو حركات الماوس أو أي إعلام يتم إنشاؤه بواسطة النظام. عملية التواصل من خلال الأحداث. على سبيل المثال ، تعتبر المقاطعات أحداثًا تم إنشاؤها بواسطة النظام. عند حدوث الأحداث ، يجب أن يكون التطبيق قادرًا على الاستجابة له وإدارته.
الأحداث في ASP.NET التي أثيرت على جهاز العميل ، وتم معالجتها على جهاز الخادم. على سبيل المثال ، يقوم المستخدم بالنقر فوق زر معروض في المستعرض. يتم رفع حدث النقر. يعالج المستعرض هذا الحدث من جانب العميل عن طريق نشره على الخادم.
يحتوي الخادم على روتين فرعي يصف ما يجب فعله عند رفع الحدث ؛ يطلق عليه معالج الحدث. لذلك ، عند إرسال رسالة الحدث إلى الخادم ، تتحقق مما إذا كان حدث Click له معالج حدث مرتبط. إذا كانت موجودة ، فسيتم تنفيذ معالج الأحداث.
يحتوي الخادم على روتين فرعي يصف ما يجب فعله عند رفع الحدث ؛ يطلق عليه معالج الحدث. لذلك ، عند إرسال رسالة الحدث إلى الخادم ، تتحقق مما إذا كان حدث Click له معالج حدث مرتبط. إذا كانت موجودة ، فسيتم تنفيذ معالج الأحداث.
وسيطات الحدث
ASP.NET معالجات الأحداث بشكل عام تأخذ معلمتين وإرجاع باطل. تمثل المعلمة الأولى الكائن الذي يرفع الحدث والمعلمة الثانية هي وسيطة الحدث.
الصيغة العامة للحدث The general syntax of an event is:
private void EventName (object sender, EventArgs e);
Application and Session Events
أهم أحداث التطبيق هي:
Application_Start - يتم رفعه عند بدء تشغيل التطبيق / موقع الويب.
Application_End - يتم رفعه عند إيقاف التطبيق / موقع الويب.
وبالمثل ، فإن أحداث الجلسة الأكثر استخدامًا هي:
Session_Start - يتم رفعه عندما يطلب المستخدم لأول مرة صفحة من التطبيق.
Session_End - يتم رفعها عند انتهاء الجلسة.
احداث الادوات والصفحة Page and Control Events
Common page and control events are:
ربط البيانات databind - يتم رفعه عندما يرتبط عنصر التحكم بمصدر البيانات.
التخلص - يتم رفعه عند تحرير الصفحة أو عنصر التحكم.
خطأerrot - إنه حدث صفحة ، يحدث عند طرح استثناء غير معالج.
الأولية priority - يتم رفعها عند تهيئة الصفحة أو عنصر التحكم.
تحميلonload - يتم رفعه عند تحميل الصفحة أو عنصر تحكم.
PreRender - يتم رفعه عند تقديم الصفحة أو عنصر التحكم.
إلغاء التحميلunload - يتم رفعها عند إلغاء تحميل الصفحة أو عنصر التحكم من الذاكرة.
استخدام الأدوات Event Handling Using Controls
يتم تطبيق جميع عناصر تحكم ASP.NET كصفوف ، ولديها أحداث يتم إطلاقها عندما يقوم المستخدم بإجراء معين عليها. على سبيل المثال ، عندما ينقر المستخدم على زر ، يتم إنشاء حدث "النقر". لمعالجة الأحداث ، هناك سمات مضمنة ومعالجات الأحداث. يتم ترميز معالج الأحداث للرد على حدث ، واتخاذ الإجراء المناسب بشأنه.
بشكل افتراضي ، يقوم Visual Studio بإنشاء معالج أحداث من خلال تضمين جملة Handles في الإجراء Sub. هذه الجملة أسماء عنصر التحكم والحدث الذي يعالج الإجراء.
اداة التحكم الزر The ASP tag for a button control:
ID="btnCancel" runat="server" Text="Cancel" />
حدث الضغط بزر الماوس The event handler for the Click event:
Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancel.Click End Sub
يمكن أيضًا ترميز الحدث دون وجود مقابض. بعد ذلك ، يجب تسمية المعالج وفقًا لسمة الحدث المناسبة لعنصر التحكم.
وسم اداة زر The ASP tag for a button control:
ID="btnCancel" runat="server" Text="Cancel" Onclick="btnCancel_Click" />
حدث الضغط على زر The event handler for the Click event:
Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) End Sub
الأحداث الشائعة The common control events are:
Event | Attribute | Controls |
---|---|---|
Click | OnClick | Button, image button, link button, image map |
Command | OnCommand | Button, image button, link button |
TextChanged | OnTextChanged | Text box |
SelectedIndexChanged | OnSelectedIndexChanged | Drop-down list, list box, radio button list, check box list. |
CheckedChanged | OnCheckedChanged | Check box, radio button |
تسبب بعض الأحداث في إعادة نشر النموذج إلى الخادم فورًا ، وتسمى هذه الأحداث أحداث إعادة النشر. على سبيل المثال ، حدث النقر مثل ، Button.Click.
لا يتم نشر بعض الأحداث مرة أخرى إلى الخادم على الفور ، وتسمى هذه الأحداث غير القابلة لإعادة النشر.
على سبيل المثال ، أحداث التغيير أو أحداث التحديد مثل TextBox.TextChanged أو CheckBox.CheckedChanged. يمكن إجراء أحداث nonpostback للنشر مرة أخرى على الفور عن طريق تعيين الخاصية AutoPostBack إلى true.
الأحداث الافتراضية
الحدث الافتراضي لكائن الصفحة هو حدث التحميل. وبالمثل ، فإن كل عنصر تحكم له حدث افتراضي. على سبيل المثال ، الحدث الافتراضي لعنصر تحكم الزر هو حدث النقر.
يمكن إنشاء معالج الأحداث الافتراضي في Visual Studio ، فقط بالنقر المزدوج فوق عنصر التحكم في طريقة العرض "تصميم". يعرض الجدول التالي بعض الأحداث الافتراضية لعناصر التحكم الشائعة:
الأداة | الحدق Event |
---|---|
AdRotator إدارة الاعلانات | AdCreated |
BulletedList قائمة غير مرقمة | Click |
Button الزر | Click |
Calender التقويم | SelectionChanged |
CheckBox مربع الاختيار | CheckedChanged |
CheckBoxList قائمة اختيار متعدد | SelectedIndexChanged |
DataGrid خاصة بقواعد البيانات | SelectedIndexChanged |
DataList قائمة البيانات | SelectedIndexChanged |
DropDownList قائمة منسدلة | SelectedIndexChanged |
HyperLink وصلة وشعبية رابط ويب | Click |
ImageButton زر من نوع صورة | Click |
ImageMap | Click |
LinkButton زر من نوع وصلة | Click |
ListBox قائمة مربعات اختيار | SelectedIndexChanged |
Menu قائمة | MenuItemClick |
RadioButton زر اختيار واحدة فقط | CheckedChanged |
RadioButtonList قائمة اختيار واحد فقط | SelectedIndexChanged |
مثال
يتضمن هذا المثال صفحة بسيطة تحتوي على عنصر تحكم تسمية وعنصر تحكم زر. إذا حدثت أحداث الصفحة مثل Page_Load أو Page_Init أو Page_PreRender وما إلى ذلك ، فسوف ترسل رسالة يتم عرضها بواسطة عنصر تحكم التسمية. عند النقر فوق الزر ، يتم رفع الحدث Button_Click ويرسل أيضًا رسالة ليتم عرضها على الملصق.
قم بإنشاء موقع ويب جديد واسحب عنصر تحكم تسمية والتحكم في زر عليه من مربع أداة التحكم. باستخدام نافذة الخصائص ، قم بتعيين معرفات عناصر التحكم على أنها .lblmessage. و .btnclick. على التوالي. قم بتعيين خاصية Text لعنصر التحكم Button على أنها "Click".
ملف العلامات (.aspx):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="eventdemo._Default" %> xmlns="http://www.w3.org/1999/xhtml" > runat="server">Untitled Page
انقر نقرًا مزدوجًا فوق طريقة عرض التصميم للانتقال إلى الرمز الموجود خلف الملف. يتم إنشاء الحدث Page_Load تلقائيًا بدون أي كود فيه. اكتب أسطر التعليمات البرمجية التوضيحية التالية:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; namespace eventdemo { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { lblmessage.Text += "Page load event handled. "; if (Page.IsPostBack) { lblmessage.Text += "Page post back event handled. "; } } protected void Page_Init(object sender, EventArgs e) { lblmessage.Text += "Page initialization event handled. "; } protected void Page_PreRender(object sender, EventArgs e) { lblmessage.Text += "Page prerender event handled. "; } protected void btnclick_Click(object sender, EventArgs e) { lblmessage.Text += "Button click event handled. "; } } }
تنفيذ الصفحة. تعرض التسمية تحميل الصفحة وتهيئة الصفحة والأحداث السابقة لتقديم الصفحة. انقر فوق الزر لرؤية التأثير:
التسميات: ASP.NET برمجة صفحات الويب
<< الصفحة الرئيسية