سؤال

ما هو الفرق الرئيسي بين .skin و .css في ASP.NET؟

.skin هو تعزيز جديد من IDE. لقد كنت أعمل مع .css. ما هو متاح في .skin هذا ليس ل .css

شكرا ساج

هل كانت مفيدة؟

المحلول

في ملف الجلد ، يمكنك تعيين خصائص عناصر التحكم ASP.NET.

علي سبيل المثال،

<asp:TextBox runat="server" Width="200"/>

جميع عناصر التحكم في مربع النص في التطبيق الخاص بك سيكون لها عرض 200.

يمكنك إعطائها اسمًا وفقط عناصر التحكم التي يمكنك من خلالها ضبطها لتطبيق الجلد على سبيل المثال ،

<asp:TextBox SkinID="MultiLineTextBox" runat="server" TextMode="MultiLine" Height="240"/>

الآن في صفحة ويب عند إضافة التحكم في مربع النص ، يمكنك تعيين SkinId الخاص به ليكون "multilinetextbox" على النحو التالي ،

<asp:TextBox runat="server" SkinID="MultiLineTextBox"/>

وبالتالي سوف يرث textmode على أنه متعدد الألياف وارتفاع 240.

لاستخدام الجلد ، عليك إضافة سمة إلى تطبيقك ضمن مجلد App_Themes وهناك إضافة ملف الجلد ، والآن لاستخدام هذا السمة في صفحاتك ، عليك تعيين خاصية التمكين للصفحة اسم موضوعك. يمكنك أيضًا تعيين هذه الخصائص في ملف التكوين.

تعيين السمة في صفحة ASPX ،

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" EnableTheming="true" StylesheetTheme="Your Theme Name" %>

تعيين السمة في web.config ،

<configuration>
   <system.web>
     <pages styleSheetTheme="Your Theme Name"></pages>
   </system.web>
</configuration>

نصائح أخرى

لاحظ أنه من حيث ما هذين الأمرين في الواقع فعل هناك فرق كبير. يتم نسخ أي خصائص محددة في ملف .skin إلى جميع عناصر التحكم في الصفحة. تتمثل ميزة استخدام أوراق الأنماط المتتالية في أن المعلومات يتم تحميلها وتخزينها مؤقتًا مرة واحدة. (ويمكن تطبيقها على صفحات ويب متعددة.) يمكن أن تتسبب ملفات الجلد في ارتفاعات الصفحة لأن جميع الخصائص المحددة في ملف الجلد يجب أن يتم دمجها مع كل عنصر تحكم متأثر في كل مرة يتم فيها تقديم الصفحة.

بالإضافة إلى ذلك ، فإن السلوك الافتراضي لملفات السمة ASP.NET تجاوز خصائص الضوابط التي تتأثر (يمكن أن يكون هذا سلوكًا غير متوقع). على سبيل المثال ، إذا قمت بتعيين ملف Width خاصية لجميع ASP: التسميات في الخاص بك .skin الملف ، جميع ASP: الملصقات التي تستخدم ملف الجلد سيكون لها Width الخصائص التي تم تعيينها على .skin الملف بغض النظر عن فرد التحكم Width إعداد. لتجنب هذا السلوك ، يمكن استخدام ASP.NET STYLESHEETTHEME للسماح بخصائص مستوى التحكم لتجاوز خصائص .skin العالمية.

يمكنك تعيين بعض الخصائص مثل العرض حتى في CSS. بصرف النظر عن القدرة على تعيين خصائص لا يمكن لـ CSS ، هناك بعض الأشياء التي تحتاجها.

فكر في مثال حيث تحتاج إلى جميع أدوات التحكم في ASP: تسمية على صفحتك لتكون باللون الأزرق. A ASP: التسمية هي في الواقع نص داخل فترة ، هذا داخل Div مخفي. هذا هو السبب في أننا قادرون على تعيين بعض الخصائص مثل اللون الخلفي لهذا ASP: Label ولماذا لا يحتوي التحكم في الملصقات القياسية على خاصية "ألوان خلفية".

لذا ، إذا حاولت ضبط لون الخط على جميع ملصقات ASP من خلال CSS ،

ثم شيء مثل

Label {
color: Blue; 
}

لن يعمل. من ناحية أخرى ، باستخدام ملف الجلد يمكنك الكتابة

 <asp:Label runat="server" ForeColor="Blue"></asp:Label>

وهذا سوف يضع جميع الملصقات على اللون الأزرق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top