يعد مكون إطار عمل صفحة نماذج ويب ASP.NET نموذج برمجة وقت تشغيل لغة عامة قابل للتطوير ويمكن استخدامه لإنشاء صفحات ويب ديناميكيًا. يعد مكون ASP.NET Page Framework تطورًا منطقيًا لـ ASP (بناء الجملة المقدم من ASP.NET متوافق مع الصفحات الموجودة)، وقد تم تصميمه خصيصًا لمعالجة عدد من أوجه القصور الهامة في النموذج السابق. على وجه الخصوص، يوفر القدرة على إنشاء واستخدام عناصر تحكم واجهة المستخدم القابلة لإعادة الاستخدام والتي تغلف الوظائف الشائعة، وبالتالي تقليل كمية التعليمات البرمجية التي يحتاج مطورو الصفحة إلى كتابتها؛ كما أنها تمكن المطورين من أن يكونوا واضحين ومنظمين، كما أنها تنشئ منطق الصفحة (وليس "تعليمات برمجية متشابكة"). ); توفر أدوات التطوير التي تستخدمها إمكانات دعم تصميم الصفحة WYSIWYG القوية (ما تراه هو ما تحصل عليه) (رمز ASP التقليدي الحالي غير شفاف). تقدم هذه المقالة بعض المعرفة الأساسية بميزات صفحة ASP.NET.
كتابة صفحة ASP.NET الأولى
صفحات ASP.NET هي ملفات نصية ذات ملحق .aspx. تتكون الصفحات من تعليمات برمجية وعلامات يتم تجميعها وتنفيذها ديناميكيًا على الخادم لإنشاء محتوى العرض لمتصفح العميل (أو الجهاز) الطالب. يمكن نشرها ضمن شجرة الدليل الظاهري IIS. عندما يطلب عميل المستعرض موردًا بتنسيق .aspx، يقوم وقت تشغيل ASP.NET بتحليل الملف الهدف وتجميعه في فئة إطار عمل .NET، ويمكن بعد ذلك استخدام هذه الفئة لمعالجة الطلب ديناميكيًا (يرجى ملاحظة أن ملف .aspx مخصص فقط تم تجميعها في المرة الأولى التي يتم الوصول إليها، ويمكن إعادة استخدام مثيل النوع المترجم لطلبات متعددة في المستقبل).
لا نحتاج إلى تعديل التعليمات البرمجية الموجودة في ملف HTML. نحتاج فقط إلى تغيير امتداده إلى .aspx لإنشاء صفحة ASP.NET. على سبيل المثال، يوضح المثال التالي صفحة HTML بسيطة تجمع اسم المستخدم وفئته، وترسل النموذج مرة أخرى إلى الصفحة الأصلية عندما ينقر المستخدم على زر:
<form action="intro1_vb.aspx" Method= "post">
<h3> الاسم: <معرف الإدخال = "الاسم" النوع = النص>
الفئة: <اختر id="الفئة" الحجم=1>
<الخيار>علم النفس</الخيار>
<خيار>أعمال</خيار>
<خيار>popular_comp</option>
</اختر>
< نوع الإدخال = قيمة الإرسال = "بحث" >
</h3>
</form>
يرجى ملاحظة: لا يحدث شيء عند النقر فوق الزر "بحث" وذلك لأن الملف .aspx يحتوي فقط على HTML ثابت (لا يوجد محتوى ديناميكي). لذلك، يتم إرسال نفس HTML مرة أخرى إلى العميل، مما يتسبب في فقدان محتوى حقل النموذج (مربع النص والقائمة المنسدلة).
إضافة تعليمات برمجية بسيطة إلى الصفحة
إن بناء الجملة الذي يوفره ASP.NET متوافق مع صفحة ASP. وهو يدعم كتل عرض (عرض) التعليمات البرمجية <% %>، والتي يمكن مزجها مع محتوى HTML في ملفات aspx. سيتم تنفيذ كتل التعليمات البرمجية هذه بدقة عند عرض الصفحة.
يوضح المثال التالي كيفية استخدام كتل العرض <% %> (زيادة حجم الخط في كل مرة) في HTML:
<form action="intro2_vb.aspx"method="post">
<h3> الاسم: <معرف الإدخال = "الاسم" النوع = النص>
الفئة: <اختر id="الفئة" الحجم=1>
<الخيار>علم النفس</الخيار>
<خيار>أعمال</خيار>
<خيار>popular_comp</option>
</اختر>
</h3>
< نوع الإدخال = قيمة الإرسال = "بحث" >
<ص>
<% خافت I كعدد صحيح
لأني = 0 إلى 7%>
<font size="<%=I%>"> مرحبًا بك في ASP.NET </font> <br>
<%التالي %>
</form>
يرجى ملاحظة: كتلة التعليمات البرمجية <% %> في المثال أعلاه تختلف عن ASP حيث سيتم تجميعها بالفعل - ولن يتم تفسيرها بواسطة محرك البرنامج النصي. يؤدي هذا إلى تحسين أداء التنفيذ في وقت التشغيل.
يمكن لمطوري صفحات ASP.NET استخدام كتل التعليمات البرمجية <% %> لتعديل معلومات مخرجات HTML ديناميكيًا. على سبيل المثال، توضح التعليمة البرمجية التالية كيفية استخدام مقطع التعليمات البرمجية <% %> لتفسير النتائج التي يرسلها العميل:
<form action="intro3_vb.aspx">
<h3> الاسم: <input name="Name" type=text value="<%=HttpUtility.HtmlEncode(Request.QueryString("Name"))%>">
الفئة: <اختر اسم=«الفئة» الحجم=1>
<%
خافت أنا كعدد صحيح
القيم الخافتة (2) كسلسلة
القيم (0) = "علم النفس"
القيم (1) = "الأعمال"
القيم (2) = "popular_comp"
لأني = 0 إلى القيم.الطول - 1
%>
<% إذا (Request.QueryString("Category") = Values(i)) %>
<تم تحديد الخيار>
<% أخرى %>
<الخيار>
<%نهاية إذا %>
<%=القيم(i)%>
</الخيار>
<%التالي %>
</اختر>
</h3>
<نوع الإدخال=إرسال الاسم = "البحث" القيمة = "البحث">
<ص>
<% إذا (ليس Request.QueryString("Lookup") = لا شيء) %>
مرحبًا <%=HttpUtility.HtmlEncode(Request.QueryString("Name")) %>، لقد حددت: <%=HttpUtility.HtmlEncode(Request.QueryString("Category")) %>
<%نهاية إذا %>
</form>
يرجى ملاحظة: على الرغم من أن كتل التعليمات البرمجية <% %> توفر لنا طريقة قوية لتخصيص معلومات إخراج النص التي يتم إرجاعها بواسطة صفحات ASP.NET، إلا أنها لا توفر نموذج برمجة HTML واضحًا. يوضح المثال أعلاه أن المطورين الذين يستخدمون كتلة التعليمات البرمجية <% %> فقط يجب عليهم إدارة حالة الصفحة واعتراض القيم المرسلة بأنفسهم.