يحتوي ASP.NET 2.0 على وظيفة سمة جديدة، مما يجعل من السهل تصفح موقع الويب.
يتضمن تنفيذ السمة: CSS، والجلد، وMasterPage.
يتم استخدام CSS للتحكم في مظهر كافة علامات HTML.
يتم استخدام المظهر للتحكم في مظهر جميع تعديلات خادم ASP.NET، ويمكن تحديد نمط CSS الخاص به من خلال السمة cssClass.
MasterPage هو قالب صفحة *.aspx، ولكن لم يتم تعريفه في السمة.
-------------------------------------------------- ----------------------------------
·مثال لإنشاء السمة:
1. قم بإنشاء دليل App_Themes في مشروع الويب. إنه دليل محدد مسبقًا، وسيتعرف ASP.NET 2.0 تلقائيًا على السمة الموجودة في الدليل الخاص به.
2. قم بإنشاء دليلين فرعيين، orangeTheme وBlueTheme، في دليل App_Themes.
3. أضف ملفات المظهر، مثل Control.Skin، إلى كل دليل فرعي ضمن App_Themes. سيقوم ASP.NET 2.0 بتحليل كل ملف سطح تلقائيًا، ويجب أن تكون التسمية هنا ملائمة للتصنيف أثناء التطوير.
4. يمكنك أيضًا إضافة ملفات CSS إلى كل دليل فرعي ضمن App_Themes. سيقوم ASP.NET 2.0 أيضًا بإضافة كل ملف CSS تلقائيًا إلى كل صفحة تستخدم هذا النمط.
· تحديد محتوى الصفحة ونمط السمة
1. تعريف الصفحة default.aspx كما يلي:
<%@ Page Theme="OrangeTheme" %>
<أتش تي أم أل>
<رئيس التشغيل = "الخادم">
<title>الصفحة البرتقالية</title>
</الرأس>
<الجسم>
<معرف النموذج = "form1" runat = "الخادم">
أدخل اسمك:<br />
<asp:TextBox ID = "txtName" Runat = "الخادم" />
<br /><br />
<asp:Button ID = "btnSubmit" Text = "إرسال الاسم" Runat = "الخادم"/>
</النموذج>
</الجسم>
</html>
2. حدد كما يلي في ملف Control.Skin على الصفحة الرئيسية لـ OrangeTheme:
ملاحظة: يمكن تحديد سمات المظهر فقط، ولا يمكن تحديد سمات مثل AutoPastback.
سيحدد المظهر الافتراضي غير المسمى المظهر لجميع أنواع TextBox.
<asp:TextBox BackColor = "برتقالي" ForeColor = "DarkGreen" Runat = "الخادم" />
<asp:Button BackColor = "Orange" ForeColor = "DarkGreen" Font-Bold = "True" Runat = "Server" />
سيؤدي وجود SkinID مسمى إلى تحديد المظهر لنوع TextBox المحدد.
<asp:TextBox SkinID = "Title" BackColor = "Orange" ForeColor = "DarkGreen" Runat = "Server" />
· استخدم السمة في الصفحة
1. أضف سمة = "افتراضي في الجزء العلوي من ملف Aspx <%@ الصفحة %> "السمة. بهذه الطريقة يمكن استخدام السمة الافتراضية.
2. إذا كنت تريد تطبيق سمة معينة على موقع الويب بأكمله، فأنت بحاجة إلى تحديدها في Web.Config.
<التكوين>
<system.web>
<pages theme="OrangeTheme" />
</system.web>
</configuration>
مثل هذا التعريف يعادل السمة الافتراضية في جميع ملفات موقع الويب، ولا يزال من الممكن تعريف السمة لكل صفحة عند استخدامها.
سيستخدم جزء المظهر السمة المحددة في الصفحة، وسيتجاوز CSS ورقة أنماط CSS في الصفحة الرئيسية الافتراضية.
3. بعد تحديد السمة، ستستخدم جميع المظاهر تلك المحددة في المظهر. يمكنك أيضًا تحديد SkinID الخاص بعنصر التحكم لتحديد الأسطح الفردية.
4. إذا كنت تريد تعريف السمة برمجيًا، فيجب معالجتها في حدث Page_PreInit، كما يلي:
void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = Request["ThemeName"];
إذا كنت بحاجة إلى تحميل ملف MasterPage للصفحة برمجيًا، فأنت بحاجة أيضًا إلى تعريفه هنا.
this.MasterPageFile = Request["MasterPageFile"];
}
إن فهم هذه التقنيات سيجعل موقع الويب أكثر تنوعًا.