ربما لا يكون بعض الأصدقاء واضحين جدًا فيما يتعلق بالموضوعات والجلود. دعونا أولا نقدم المواضيع والجلود.
1. المقدمة:
ما عليك سوى إلقاء نظرة على أسماء السمات والجلود وستعرف ما يتم استخدامها من أجله. الآن دعنا نتحدث عن ما يتم استخدامه من أجله (كيف لا يزال بإمكانك قول،~_~) عندما تعرفهم جميعًا ويمكننا تغييرهم بسهولة؟ التحكم في السمات وأنماط الصفحة دون تعديل ملفات التعليمات البرمجية والصفحات الخاصة بنا.
يتم وضع ملفات السمات بشكل منفصل ضمن مجلد App_Themes وهي منفصلة تمامًا عن برنامجك.
2. كيفية استخدام السمات والجلود:
دعونا نلقي نظرة على مثال بسيط جدًا أولاً:
رمز ملف App_Themesdefault1.skin:
<asp:Label Font-Bold="true" ForeColor="Red" runat="server" />
default.aspx: رمز الملف:
<%@ لغة الصفحة = "C#" الموضوع = "افتراضي" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<head id="Head1" runat="الخادم">
<title>صفحة بها مثال تم تطبيق السمة</title>
</الرأس>
<الجسم>
<معرف النموذج = "form1" runat = "الخادم">
<asp:Label ID="Label1" runat="server" Text="Hello 1" /><br />
<asp:Label ID="Label2" runat="server" Text="Hello 2" /><br />
</النموذج>
</الجسم>
</html>
يمكنك أن ترى أننا لم نكتب أي تعليمات برمجية للتحكم في النمط في default.aspx، ولكن عندما نقوم بتشغيله، نجد أن الكلمات الموجودة على الملصق أصبحت باللون الأحمر الغامق. هذا هو المثال الأساسي للموضوع.
مجلد App_Themes:
يقع المجلد App_Themes في الدليل الجذر للبرنامج. ويجب أن يكون App_Themes مجلدًا فرعيًا لاسم السمة. ويمكن أن يحتوي المجلد الفرعي على ملفات .skin و.css متعددة. في الشكل أدناه، تم إنشاء سمتين، بالاسم الافتراضي والافتراضي 2:
استخدام المواضيع
1. تطبيق السمة على الصفحة:
إذا كنت تريد تطبيق سمة على صفحة معينة، فقم بتعديل <%@ سمة الصفحة = "..." %> مباشرة في ملف aspx، على سبيل المثال، إذا كنت تريد تطبيق السمة الافتراضية 2 على هذه الصفحة، فقم بتعيين <%. @ سمة الصفحة = "default2" %> موافق
2. قم بتطبيق نفس السمة على جميع الصفحات:
إذا كنت تريد استخدام نفس السمة في جميع الصفحات، أضف الجملة <pages theme = "..."/> ضمن العقدة <system.web> في web.config
3. دع عنصر التحكم لا يطبق السمة:
في المثال الأول، رأينا أن أنماط التسميتين قد تغيرت، مما يعني أن النمط الموجود في ملف .skin أصبح ساري المفعول على جميع التسميات الموجودة في الصفحة. لكن في بعض الأحيان نريد ألا تقوم تسمية معينة بتطبيق النمط في .skin. في هذه الحالة، ما عليك سوى تعيين خاصية EnableTheming الخاصة بالعلامة على false.
ربما تريد أيضًا أن تعرض تسميات مختلفة أنماطًا مختلفة، ما عليك سوى تعيين سمة SkinID للملصق، راجع المثال أدناه:
App_Themesdefault1.skin
<asp:label runat = "server" Font-bold = "true" forecolor = "Red" />
<asp:label runat = "server" SkinID = "Blue" Font-bold = "true" forecolor = "blue" />
deafult.aspx
<%@ Page Language="C#" Theme="default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<head id="Head1" runat="الخادم">
<title>صفحة بها مثال تم تطبيق السمة</title>
</الرأس>
<الجسم>
<معرف النموذج = "form1" runat = "الخادم">
<asp:Label ID = "Label2" runat = "server" Text = "Hello 2" SkinID = "Blue" /><br />
<asp:Label ID="Label3" runat="server" Text="Hello 3" /><br />
</النموذج>
</الجسم>
</html>
بعد التشغيل، ستجد أن أنماط العرض لكلا التصنيفين مختلفة.
4. طرق أخرى:
كما ذكرنا من قبل، فإن استخدام <%@ Page Theme="..." %> في رأس ملف aspx لاستخدام السمة، واستخدام هذه الطريقة لتطبيق النمط في السمة سيؤدي إلى الكتابة فوق نمط سمة التحكم الذي كتبته في aspx. على سبيل المثال:
App_Themesdefault1.skin
<asp:Label Font-Bold = "true" ForeColor = "Red" runat = "server" />
default.aspx
<%@ لغة الصفحة = "C#" الموضوع = "افتراضي" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http //www.w3.org/1999/xhtml ">
<head id="Head1" runat="الخادم">
</الرأس>
<الجسم>
<معرف النموذج = "form1" runat = "الخادم">
<asp:Label ID="Label1" runat="server" Text="Hello 1" /><br />
<asp:Label ID = "Label2" runat = "server" Text = "Hello 2" ForeColor = "blue" />
</النموذج>
</الجسم>
</html>
ونتيجة لهذه العملية، يكون اللون الأمامي لجميع الملصقات باللون الأحمر.
لن يؤدي استخدام <%@ Page StyleSheetTheme="..." %> لتطبيق سمة إلى استبدال سمة النمط التي كتبتها في ملف aspx:
الترتيب الذي يطبق به عنصر التحكم سمة النمط هو كما يلي:
أ. النمط المشار إليه بواسطة StyleSheetTheme
ب. خصائص التحكم التي تم تعيينها بواسطة التعليمات البرمجية (تجاوز StyleSheetTheme)
ج. يحتوي النمط المشار إليه بواسطة السمة (الذي يغطي السمتين الأولين)
على CSS:
يمكن أيضًا استخدام ملفات .css في السمات. عند وضع ملف .css في دليل السمات، سيتم تطبيق .css تلقائيًا على الصفحة التي تستخدم هذا المظهر.
3. يمكن لرمز الخلفية تغيير مظهر موقع الويب بسهولة .
ما ذكرته أعلاه هو تطبيق السمات في ملفات aspx أو web.config، ومع ذلك، من الواضح أنه من غير المناسب استخدام الطريقة المذكورة أعلاه لتغيير الأسطح في موقع ويب مثل مدونة حيث يكون لكل مستخدم مظهر مختلف.
فيما يلي كيفية الرجوع إلى السمة ديناميكيًا في رمز الخلفية لحل الموقف أعلاه. يجب تطبيق السمة في أقرب وقت عند طلب الصفحة، لذلك يجب علينا كتابة التعليمات البرمجية في حدث Page_PreInit ، جملة واحدة فقط:
Page.Theme = "...";
نحتاج هنا فقط إلى قراءة أسماء السمات المختلفة التي حددها كل مستخدم من قاعدة البيانات لندرك بسهولة أن كل مستخدم لديه مظهر مختلف.
------------------------------------------
ما ورد أعلاه هو كل الآراء والتجارب الشخصية إذا كان هناك أي خطأ، من فضلك أعطني نصيحتك.