أدوات السيرفر في برمجة صفحات الويب آي إس بي دوت نت ASP.NET Server Controls#
أدوات السيرفر في برمجة صفحات الويب آي إس بي دوت نت
ASP.NET Server Controls#
أدوات السيرفر في برمجة صفحات الويب آي إس بي دوت نت ASP.NET Server Controls#
أدوات السيرفر او عناصر التحكم السيرفر Server controls
هي أدوات رسومية جاهزة يتم تحويل كودها البرمجي بعد معالجتها على السيرفر إلى كود html فمن هذه العناصر مربع النص الذي يستخدم لإدخال البيانات فيه المرسلة للسيرفر وزر الضغط وازرارالاختيار وغيرها من الأدوات التي تستخدم في برمجة نوافذ الويندوز الفورم إلا أنه هنا يتم تحويل كودها إلى html بحيث متصفح النت على جهاز الكمبيوتر للمستخدم.
عناصر التحكم عبارة عن لبنات بناء صغيرة لواجهة المستخدم الرسومية ، والتي تشمل مربعات النص والأزرار وخانات الاختيار ومربعات القوائم والعلامات والعديد من الأدوات الأخرى. باستخدام هذه الأدوات ، يمكن للمستخدمين إدخال البيانات وتحديد الاختيارات والإشارة إلى تفضيلاتهم.
تستخدم عناصر التحكم او أدوات السيرفر أيضًا في الوظائف الهيكلية ، مثل التحقق من الصحة والوصول إلى البيانات والأمان وإنشاء الصفحات الرئيسية ومعالجة البيانات.
يستخدم ASP.NET خمسة أنواع من عناصر تحكم الويب ، وهي:
عناصر HTML
عناصر خادم HTML
عناصر تحكم ASP.NET Server
عناصر خادم ASP.NET Ajax
ادوات المستخدم وأدوات المخصصة
عناصر تحكم خادم ASP.NET هي عناصر التحكم الأساسية المستخدمة في ASP.NET. يمكن تجميع عناصر التحكم هذه في الفئات التالية:
validation control عناصر تحكم التحقق من الصحة - تُستخدم هذه للتحقق من صحة إدخال المستخدم وتعمل من خلال تشغيل برنامج نصي من جانب العميل.
Data source control عناصر تحكم مصدر البيانات - توفر عناصر التحكم هذه ربط البيانات بمصادر بيانات مختلفة.
data views control عناصر التحكم في عرض البيانات - هذه هي قوائم وجداول مختلفة ، والتي يمكنها ربط البيانات من مصادر البيانات للعرض.
personalization control عناصر التحكم في التخصيص - تُستخدم هذه لإضفاء طابع شخصي على الصفحة وفقًا لتفضيلات المستخدم ، بناءً على معلومات المستخدم.
logon and security control عناصر التحكم في تسجيل الدخول والأمان - توفر عناصر التحكم هذه مصادقة المستخدم.
main page control الصفحات الرئيسية - توفر عناصر التحكم هذه تخطيطًا وواجهة متسقة في جميع أنحاء التطبيق.
navigation control عناصر التحكم في التنقل - تساعد عناصر التحكم هذه في التنقل. على سبيل المثال ، القوائم ، عرض الشجرة ، إلخ.
rich control عناصر التحكم الغنية - عناصر التحكم هذه تنفذ ميزات خاصة. على سبيل المثال ، التحكم AdRotator ، FileUpload ، والتقويم.
بناء جملة استخدام عناصر تحكم الخادم هو:
ID ="ControlID" runat="server" Property1=value1 [Property2=value2] />
بالإضافة إلى ذلك ، فيجوال استوديو لديه ما يلي
الميزات ، للمساعدة في إنتاج الكود خالية من الأخطاء:
سحب وإسقاط عناصر التحكم في طريقة عرض التصميم
ميزة التحسس الذكي التي تعرض الخصائص وتكمّلها تلقائيًا
نافذة الخصائص لتعيين قيم الخاصية مباشرة
والخصائص الأدوات السيرفر Properties of the Server Controls
يتم اشتقاق عناصر تحكم خادم ASP.NET مع جانب مرئي من فئة WebControl وترث جميع الخصائص والأحداث وطرق هذه الفئة.
فئة WebControl نفسها وبعض عناصر تحكم الخادم الأخرى التي لم يتم تقديمها بصريًا مشتقة من فئة System.Web.UI.Control. على سبيل المثال ، عنصر تحكم PlaceHolder أو عنصر تحكم XML.
عناصر تحكم خادم ASP.Net ترث كافة الخصائص والأحداث والأساليب لفئة WebControl و System.Web.UI.Control.
يعرض الجدول التالي الخصائص الموروثة الشائعة لجميع عناصر التحكم بالخادم:
الخاصية | الوصف |
---|---|
AccessKey | يؤدي الضغط على هذا المفتاح باستخدام مفتاح Alt إلى نقل التركيز إلى عنصر التحكم. |
Attributes | إنها مجموعة السمات التعسفية (للعرض فقط) التي لا تتوافق مع الخصائص الموجودة على عنصر التحكم. |
BackColor | لون الخلفية. |
BindingContainer | عنصر التحكم الذي يحتوي على ربط بيانات عنصر التحكم هذا. |
BorderColor | لون الحدود. |
BorderStyle | لوم النمط |
BorderWidth | حجم الإطار او الحدود Border width. |
CausesValidation | يشير إلى ما إذا كان يسبب التحقق من الصحة. |
ChildControlCreated | يشير إلى ما إذا كان قد تم إنشاء عناصر التحكم التابعة لعنصر تحكم الخادم. |
ClientID | اسم المعرف للكود Control ID for HTML markup. |
Context | كائن HttpContext المرتبط بعنصر تحكم الخادم. |
Controls | مجموعة من جميع الضوابط الواردة داخل السيطرة. |
ControlStyle | نمط عنصر تحكم خادم الويب. |
CssClass | CSS class |
DataItemContainer | الحصول على مرجع إلى حاوية التسمية إذا كانت حاوية التسمية تنفذ IDataItemContainer |
DataKeysContainer | .الحصول على مرجع إلى حاوية التسمية إذا كانت حاوية التسمية تنفذ IDataKeysControl |
DesignMode | يشير إلى ما إذا كان يتم استخدام عنصر التحكم على سطح التصميم. |
DisabledCssClass | الحصول على أو تعيين فئة CSS لتطبيقها على عنصر HTML المقدم عند تعطيل عنصر التحكم. |
Enabled | يشير إلى ما إذا كان عنصر التحكم باللون الرمادي. |
EnableTheming | يشير إلى ما إذا كان ينطبق عليها عنصر التحكم. |
EnableViewState | يشير إلى ما إذا كان يتم الحفاظ على حالة عرض عنصر التحكم. |
Events | الحصول على قائمة معالج الأحداث لعنصر التحكم |
Font | الخط |
Forecolor | لون الخط |
HasAttributes | يشير إلى ما إذا كان عنصر التحكم يحتوي على مجموعة سمات. |
HasChildViewState | يشير إلى ما إذا كان عنصر التحكم الحالي بالخادم التابع يحتوي على أي إعدادات حالة عرض محفوظة. |
Height | الارتفاع بالنسبة او بالبكسل Height in pixels or %. |
ID | معرف الاداة Identifier for the control. |
IsChildControlStateCleared | يشير إلى ما إذا كانت عناصر التحكم الموجودة داخل عنصر التحكم هذا تحتوي على حالة تحكم. |
IsEnabled | الحصول على قيمة تشير إلى ما إذا كان عنصر التحكم ممكّنًا |
IsTrackingViewState | يشير إلى ما إذا كان عنصر تحكم الخادم يقوم بحفظ التغييرات إلى حالة العرض الخاصة به. |
IsViewStateEnabled | يشير إلى ما إذا كانت حالة العرض ممكّنة لعنصر التحكم هذا. |
LoadViewStateById | يشير إلى ما إذا كان عنصر التحكم يشارك في تحميل حالة العرض الخاصة به بواسطة المعرف بدلاً من الفهرس. |
Page | صفحة تحتوي على عنصر التحكم. |
Parent | اداة التحكم لأب Parent control. |
RenderingCompatibility | يحدد إصدار ASP.NET الذي سيكون HTML المقدم متوافقًا معه.١ |
Site | الحاوية التي تستضيف التحكم الحالي عند تقديمه على سطح التصميم. |
SkinID | الحصول على أو تعيين skinid لتطبيقه على السيطرة. |
Style | الحصول على مجموعة من سمات النص التي سيتم تقديمها كسمة نمط على العلامة الخارجية لعنصر تحكم خادم الويب. |
TabIndex | الحصول على أو تعيين فهرس علامة التبويب لعنصر تحكم خادم الويب. |
TagKey | الحصول على قيمة HtmlTextWriterTag التي تتوافق مع عنصر تحكم خادم الويب هذا. |
TagName | الحصول على اسم علامة التحكم. |
TemplateControl | القالب الذي يحتوي على عنصر التحكم هذا. |
TemplateSourceDirectory | الحصول على الدليل الظاهري للصفحة أو عنصر التحكم الذي يحتوي على عنصر التحكم هذا. |
ToolTip | الحصول على النص المعروض أو تعيينه عندما يحوم مؤشر الماوس فوق عنصر تحكم خادم الويب. |
UniqueID | معرف فريد |
ViewState | الحصول على قاموس لمعلومات الحالة يحفظ ويستعيد حالة عرض عنصر تحكم الخادم عبر طلبات متعددة لنفس الصفحة. |
ViewStateIgnoreCase | يشير إلى ما إذا كان كائن StateBag غير حساس لحالة الأحرف. |
ViewStateMode | الحصول على وضع حالة العرض لعنصر التحكم هذا أو تعيينه. |
Visible | يشير إلى ما إذا كان عنصر تحكم خادم مرئيًا. |
Width | الحصول على أو تحديد عرض عنصر تحكم خادم الويب. |
دوال أدوات السيرفرMethods of the Server Controls
يوفر الجدول التالي طرق عناصر تحكم الخادم:
الدالة | الوصف |
---|---|
AddAttributesToRender | يضيف سمات HTML والأنماط التي يجب تقديمها إلى HtmlTextWriterTag المحدد. |
AddedControl | يتم استدعاؤه بعد إضافة عنصر تحكم تابع إلى مجموعة عناصر التحكم الخاصة بكائن التحكم. |
AddParsedSubObject | يخطر عنصر تحكم الخادم بأنه تم تحليل عنصر ، إما XML أو HTML ، وإضافة العنصر إلى مجموعة التحكم لعنصر تحكم الخادم. |
ApplyStyleSheetSkin | يطبق خصائص النمط المعرفة في ورقة أنماط الصفحة على عنصر التحكم. |
ClearCachedClientID | .البنية التحتية. يعين القيمة ClientID المخزنة مؤقتاً إلى فارغة |
ClearChildControlState | حذف معلومات حالة التحكم لعناصر التحكم التابعة لعنصر تحكم الخادم. |
ClearChildState | حذف معلومات حالة العرض والتحكم لكل عناصر تحكم خادم التحكم التابع. |
ClearChildViewState | حذف معلومات حالة العرض لكل عناصر التحكم التابعة لعنصر تحكم الخادم. |
CreateChildControls | المستخدمة في إنشاء عناصر تحكم الابن. |
CreateControlCollection | إنشاء كائن ControlCollection جديد للاحتفاظ بعناصر التحكم التابعة |
CreateControlStyle | ينشئ كائن النمط الذي يتم استخدامه لتنفيذ كل الخصائص المتعلقة بالنمط. |
DataBind | يربط مصدر البيانات بعنصر تحكم الخادم وجميع عناصر التحكم التابعة له. |
DataBind(Boolean) | يربط مصدر البيانات بعنصر تحكم الخادم وجميع عناصر التحكم التابعة له مع خيار رفع الحدث DataBinding. |
DataBindChildren | يربط مصدر بيانات بعناصر التحكم التابعة لعنصر تحكم الخادم. |
Dispose | تمكن عنصر تحكم الخادم من إجراء التنظيف النهائي قبل إصداره من الذاكرة. |
EnsureChildControls | لتحديد ما إذا كان عنصر تحكم الخادم يحتوي على عناصر تحكم تابعة. إذا لم يحدث ذلك ، فإنه ينشئ عناصر تحكم تابعة. |
EnsureID | ينشئ معرف لعناصر التحكم التي ليس لها معرف. |
Equals(Object) | لتحديد ما إذا كان الكائن المحدد يساوي الكائن الحالي. |
Finalize | للسماح لكائن ما بمحاولة تحرير الموارد وإجراء عمليات تنظيف أخرى قبل أن يتم استعادة الكائن بواسطة مجموعة البيانات المهملة. |
FindControl(String) | يبحث في حاوية التسمية الحالية عن عنصر تحكم خادم باستخدام معلمة المعرف المحدد. |
FindControl(String, Int32) | يبحث في حاوية التسمية الحالية عن عنصر تحكم خادم بمعرف محدد و عدد صحيح. |
Focus | يضبط تركيز الإدخال على عنصر تحكم. |
GetDesignModeState | الحصول على بيانات وقت التصميم لعنصر تحكم. |
GetType | الحصول على نوع المثيل الحالي. |
GetUniqueIDRelativeTo | تُرجع الجزء السابق من خاصية UniqueID لعنصر التحكم المحدد. |
HasControls | .لتحديد ما إذا كان عنصر تحكم الخادم يحتوي على أي عناصر تحكم تابعة |
HasEvents | يشير إلى ما إذا كانت الأحداث مسجلة لعنصر التحكم أو أي عناصر تحكم تابعة. |
IsLiteralContent | لتحديد ما إذا كان عنصر تحكم الخادم يحتفظ بالمحتوى الحرفي فقط |
LoadControlState | يستعيد معلومات حالة التحكم. |
LoadViewState | .يستعيد معلومات حالة العرض |
MapPathSecure | استرداد المسار الفعلي الذي يعينه المسار الظاهري ، سواء كان مطلقًا أو نسبيًا. |
MemberwiseClone | .يخلق نسخة ضحلة من الكائن الحالي |
MergeStyle | نسخ أي عناصر غير محددة من النمط المحدد إلى عنصر تحكم الويب ، ولكن لا تحل محل أي عناصر نمط موجودة من عنصر التحكم. |
OnBubbleEvent | لتحديد ما إذا كان الحدث الخاص بعنصر تحكم الخادم قد انتهى من التسلسل الهرمي لعنصر تحكم خادم UI الخاص بالصفحة. |
OnDataBinding | .يثير الحدث ربط البيانات |
OnInit | .يثير الحدث الأولية |
OnLoad | يثير الحدث تحميل. |
OnPreRender | .يثير الحدث PreRender |
OnUnload | يثير الحدث إلغاء التحميل. |
OpenFile | يحصل على دفق يستخدم لقراءة الملف. |
RemovedControl | يتم استدعاؤه بعد إزالة عنصر التحكم التابع من مجموعة عناصر التحكم الخاصة بكائن التحكم |
Render | .يقدم التحكم إلى كاتب HTML المحدد |
RenderBeginTag | يعرض علامة فتح HTML لعنصر التحكم للكاتب المحدد. |
RenderChildren | إخراج محتويات خادم التحكم التابع لكائن HtmlTextWriter مقدم ، والذي يكتب المحتويات المراد تقديمها على العميل. |
RenderContents | يعرض محتويات عنصر التحكم للكاتب المحدد. |
RenderControl(HtmlTextWriter) | .إخراج محتوى التحكم في الخادم إلى كائن HtmlTextWriter مقدم وتخزين معلومات التتبع حول عنصر التحكم إذا تم تمكين التتبع |
RenderEndTag | يعرض علامة إغلاق HTML لعنصر التحكم في الكاتب المحدد. |
ResolveAdapter | الحصول على محول التحكم المسؤول عن تقديم عنصر التحكم المحدد. |
SaveControlState | يحفظ أي تغييرات في حالة تحكم الخادم التي حدثت منذ الوقت الذي تم فيه نشر الصفحة مرة أخرى على الخادم. |
SaveViewState | يحفظ أي حالة تم تعديلها بعد استدعاء الأسلوب TrackViewState. |
SetDesignModeState | يضبط بيانات وقت التصميم لعنصر تحكم. |
ToString | إرجاع سلسلة تمثل الكائن الحالي. |
TrackViewState | يؤدي عنصر التحكم إلى تعقب التغييرات إلى حالة العرض الخاصة به بحيث يمكن تخزينها في خاصية حالة عرض الكائن. |
مثال Example
دعنا ننظر إلى عنصر تحكم خادم معين - عنصر تحكم عرض شجرة. عنصر تحكم عرض شجرة يأتي تحت عناصر التحكم في التنقل. عناصر التحكم الأخرى في التنقل هي: التحكم في القائمة والتحكم في SiteMapPath.
إضافة عنصر تحكم عرض شجرة على الصفحة. حدد تحرير العقد ... من المهام. قم بتحرير كل من العقد باستخدام محرر عقدة طريقة العرض Tree كما هو موضح:
إضافة عنصر تحكم تسمية والتحكم مربع النص على الصفحة وتسميتها lblmessage و txtmessage على التوالي.
اكتب بضعة سطور من التعليمات البرمجية للتأكد من أنه عند تحديد عقدة معينة ، يعرض عنصر التحكم في التسمية نص العقدة ويعرض مربع النص جميع العقد الفرعية تحتها ، إن وجدت. يجب أن يبدو الرمز خلف الملف كما يلي:
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 treeviewdemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { txtmessage.Text = " "; } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { txtmessage.Text = " "; lblmessage.Text = "Selected node changed to: " + TreeView1.SelectedNode.Text; TreeNodeCollection childnodes = TreeView1.SelectedNode.ChildNodes; if(childnodes != null) { txtmessage.Text = " "; foreach (TreeNode t in childnodes) { txtmessage.Text += t.Value; } } } } }
تنفيذ الصفحة لرؤية النتائج . سوف تكون قادرة على توسيع وطي العقد القائمة .
التسميات: ASP.NET برمجة صفحات الويب
<< الصفحة الرئيسية