على الرغم من أن عناصر تحكم الويب وعناصر تحكم HTML لها العديد من الوظائف المتشابهة وتبدو متشابهة، إلا أن آليات تنفيذها الداخلية مختلفة تمامًا.
تعمل عناصر تحكم الويب بشكل أفضل من عناصر تحكم Html
1. كما أنها سهلة الاستخدام تمامًا، وإليك مثال بسيط، مثل إنشاء الزر:
يضع عنصر تحكم Html مجموعة كبيرة من عناصر التحكم في الصفحة، وما هي الوظيفة المستخدمة، فقط قم بتعيين الخصائص، على النحو التالي:
<نوع الإدخال=إرسال/زر التشغيل=الخادم>
سيشغل هذا قدرًا كبيرًا من موارد التحكم
التي يتم دمجها في وظائف واحدة:
<asp:button id="btnOK" />
يمكن أن يؤدي ذلك إلى حفظ الموارد التي تشغلها عناصر التحكم غير الضرورية.
2. تحتوي عناصر تحكم الويب على وظيفة رد اتصال ويمكنها استخدام ViewState للحفاظ على حالة عنصر التحكم.
لا يمكن لعنصر تحكم Html أن يفقد حالته عند النقر فوق عملية الصفحة.
يمكنك إجراء تجربة مثل هذا:
I. قم بإنشاء ملفين على التوالي: a.html b.aspx
II. أضف زر الراديو لعنصر تحكم Html وزرًا إلى صفحة a.html.
أضف زر RadioButton الخاص بعنصر تحكم الويب وزرًا في b.aspx
يتم تشغيل III.a.html مباشرة عن طريق النقر المزدوج فوق المتصفح، ويتم تشغيل b.aspx من خلال IIS.
IV في واجهة التشغيل a.html، حدد RadioButton، ثم انقر فوق الزر Button وستجد أن RadioButton سيقوم بذلك
قم بإلغاء تحديد (فقد حالته)، ولكن قم بإجراء نفس العملية على صفحة b.aspx، فلن يتم فقدان RadioButton لأن ViewState
يتم حفظ الحالة له، يمكنك النقر فوق "عرض" -> "الملف المصدر" في قائمة المتصفح في واجهة التشغيل لفتح ملف كود Html.
ابحث عن ViewState المشفرة، كما يلي:
<نوع الإدخال = "مخفي" الاسم = "_VIEWSTATE" القيمة = "dDw0ajfmafmjfzzmj4"/>
في الواقع، مبدأ تنفيذ ViewState هو وضع بعض المعلومات في عنصر تحكم مخفي، ويتم
تخزين معلومات ViewState التي تم إنشاؤها بواسطة asp.net على العميل
هناك شيء واحد يجب ملاحظته هنا:
لا يمكن تشغيل وظيفة الاسترجاع إلا عندما يكون التنسيق عبارة عن ملف *.aspx ويكون لعنصر التحكم السمة: "runat=server"
3. يتمثل الاختلاف الأكبر بين عناصر تحكم Html وعناصر تحكم الويب في اختلاف طرق معالجة الأحداث. للتحكم في نموذج HTML،
عندما يتم رفع حدث ما، يقوم المتصفح بالتعامل معه. ولكن بالنسبة لعناصر تحكم الويب، يتم إنشاء الحدث بواسطة المتصفح فقط، لكن المتصفح لن يقوم بمعالجته. يحتاج العميل إلى إرسال رسالة إلى الخادم لإخبار الخادم بالتعامل مع الحدث. ومع ذلك، بعض الأحداث
على سبيل المثال:
أحداث مثل الضغط على المفاتيح/التحريك/الماوس وما إلى ذلك، هذه الأحداث غير متوفرة في Asp.net
(نظرًا لأن هذه الأحداث فورية جدًا، لا يمكن للخادم معالجتها بالسرعة الكافية.) في هذا الوقت، يتم تشغيل عنصر تحكم Html، جنبًا إلى جنب مع أحداث Html
للمساعدة في إكمال العملية،
وفيما يلي بعض الأحداث شائعة الاستخدام في Html:
حدث التحكم في HTML الذي تم تنفيذه على المتصفح:
يتم تشغيله عند النقر عليه:
<INPUT type="button" value="Click Me" onclick="alert('Hi, Hello!');">
يتم تشغيله عندما يرتد الماوس:
<INPUT type = "button" value = "انقر فوقي" onmouseup = "alert ('Hi، Hello!')؛">
// يتم تشغيله عند التمرير فوق عنصر التحكم
<INPUT type = "button" value = "انقر فوقي" onmouseover = "alert ('Hi، Hello!')؛">
// يتم تشغيله عندما يتحرك الماوس فوق عنصر التحكم
<INPUT type = "button" value = "انقر فوقي" onmousemove = "alert ('Hi، Hello!')؛">
// يتم تشغيله عند النقر المزدوج على عنصر التحكم
<INPUT type="button" value="Click Me" ondblclick="alert('Hi, Hello!');">
// عندما يكون التركيز على عنصر التحكم، يتم تشغيله عند الضغط على المفتاح
<INPUT type = "button" value = "انقر فوقي" onkeypress = "alert ('Hi، Hello!')؛">
// يتم تشغيله عند الضغط على المفتاح
<INPUT type="button" value="انقر فوقي" onkeydown="alert('Hi, Hello!');">