إنشاء عناصر تحكم الخادم في Asp.net هو نفس عناصر تحكم نموذج Windows. هناك عدة طرق:
1. التحكم في المستخدم
2. الضوابط المخصصة المستمدة من التحكم وWebControl
3. قم بالتوسيع من عناصر تحكم خادم Asp.net الموجودة
تحتوي عناصر تحكم المستخدم على ملحق .ascx ويتم حفظها كملفات نصية. لا تحتاج عناصر تحكم المستخدم إلى الترجمة مسبقًا مثل عناصر تحكم الخادم المشتقة من Control وWebControl. عند استخدام عناصر تحكم المستخدم في صفحات .aspx، يبدأ المحلل اللغوي للصفحة من الفئة ديناميكيًا تم إنشاؤها من ملف aspx وتجميعها في التجميع. مزاياه هي: أنه يحل مشكلة إعادة استخدام التعليمات البرمجية، ولكل عنصر تحكم مستخدم نموذج كائن خاص به، ولغة الكتابة الخاصة به لا علاقة لها بلغة صفحة .aspx.
بالتوسع من التحكم الحالي بخادم Asp.net، فإنه يعزز بشكل أساسي وظائف التحكم بخادم .net الأصلي لتلبية احتياجات التطوير والمستخدمين النهائيين لدينا.
يتم نشر عناصر التحكم المخصصة المشتقة من Control وWebControl في شكل مكتبات فئة مجمعة.
لن يتم شرح ما ورد أعلاه 1 و3 في هذه السلسلة، وسيتم شرح عناصر تحكم الخادم المشتقة من Control وWebControl فقط.
إذا أردنا كتابة عنصر تحكم مخصص، فنحن نحتاج فقط إلى الوراثة من التحكم، وقد قام WebControl بتنفيذ واجهة IComponent، وWebControl نفسه مشتق من التحكم، لذا فهو يدعم أيضًا التصميم المرئي للمكونات.
طريقة العرض وفئة HtmlTextWriter عندما نشتق عنصر تحكم خادم Asp.net من فئة التحكم، فإن فئة التحكم توفر لنا عرضًا قابلاً للتحميل الزائد ومثيلًا من نوع HtmlTextWriter كائن HtmlTextWriter، ويقوم HtmlTextWriter بتغليف وظيفة كتابة دفق نص HTML.
باستخدام النظام؛ باستخدام System.Collections.Generic؛ باستخدام System.Text؛
مساحة الاسم ClassLibrary1 { التحكم في الفئة العامة 1: System.Web.UI.Control { تجاوز محمي عرض باطلة (System.Web.UI.HtmlTextWriter الكاتب) { الكاتب.اكتب("أنا هنا."); } }
التحكم في الفئة العامة 2: System.Web.UI.WebControls.WebControl { تجاوز محمي عرض باطلة (System.Web.UI.HtmlTextWriter الكاتب) { Writer.Write("أنا هنا أيضًا."); } } } |
في الكود أعلاه، قمنا بتعريف Control1 وControl2، اللذين يرثان من Control وWebControl على التوالي، فما هي الاختلافات الأساسية بينهما؟ انظر أولاً إلى التأثير التالي:
من خلال التأثيرات المذكورة أعلاه، ليس من الصعب رؤية الفرق بينهما، حيث توفر فئة WebControl الدعم للأنماط من خلال السمات، مثل الخط والارتفاع ولون الخلفية وما إلى ذلك. إذن متى نختار الاشتقاق من التحكم، ومتى نختار الاشتقاق من WebControl؟ إذا أراد عنصر التحكم إنشاء عناصر غير مرئية أو عرضها لعملاء غير HTML، فسيتم استخلاصها من عنصر التحكم، مثل SqlDataSource؛ وإذا كان سيتم تزويد العميل بـ HTML مرئي، فسنستمدها من WebControl، مثل TextBox .