.skin vs .css от asp.net

В чем основное отличие между .skin и .css в asp.net?

.skin - новое усовершенствование IDE. Я работал с .css. Что доступно в .skin, а не .css

спасибо, Saj

Ответы

Ответ 1

В файле скина вы можете установить свойства элементов управления asp.net.

Например,

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

Все элементы управления TextBox в вашем приложении будут иметь ширину 200.

Вы можете указать ему имя и только те элементы управления, которые вам нравятся, вы можете установить их для применения скина, например,

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

теперь на веб-странице при добавлении элемента управления TextBox вы можете установить свой SkinID как "MultiLineTextBox", как показано ниже,

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

и, таким образом, он наследует TextMode как MultiLine и Height как 240.

Чтобы использовать скин, вы должны добавить тему в свое приложение в папке App_Themes, и там вы добавите файл скина, теперь, чтобы использовать эту тему на своих страницах, вы должны установить для свойства EnableTheming страницы значение true, StylesheetTheme или Тема к названию вашей темы. Вы также можете установить эти свойства в файле конфигурации.

Настройка темы на странице 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>

Ответ 2

Обратите внимание, что с точки зрения того, что эти две вещи действительно делают, существует значительная разница. Любые свойства, установленные в файле .skin, копируются во все элементы управления страницей. Преимущество использования каскадных таблиц стилей заключается в том, что информация загружается и кэшируется один раз. (и может применяться к нескольким веб-страницам.) Файлы скинов могут вызывать раздувание страниц, потому что все свойства, установленные в файле скина, должны быть объединены с каждым затронутым элементом управления каждый раз, когда страница отображается.

Кроме того, поведение по умолчанию для файлов ASP.NET Theme. по умолчанию для переопределения свойств затронутых элементов управления (это может быть неожиданное поведение). Например, если вы устанавливаете свойство Width для всех ASP: Ярлыки в вашем файле .skin, все метки ASP: Ярлыки, которые используют файл скина, будут иметь свои свойства Width, равные свойствам .skin, независимо от того, индивидуальной настройки Width. Чтобы избежать такого поведения, ASP.NET StyleSheetTheme может использоваться, чтобы позволить свойства уровня управления переопределять глобальные свойства .skin.

Ответ 3

Вы можете установить некоторые свойства, такие как Width, даже в CSS. Помимо возможности устанавливать свойства, которые не могут быть созданы CSS, есть некоторые вещи, которые вам нужны .skin файл для.

Рассмотрим пример, где вам нужно, чтобы все элементы asp: Label на вашей странице были синего цвета. Asp: Label на самом деле является текстом внутри span, то есть внутри скрытого div. Вот почему мы можем установить некоторые свойства, такие как BackColor, на этот asp: Label и почему стандартный элемент управления меткой не имеет свойства BackColor.

Итак, если вы попытаетесь установить цвет шрифта для всех меток ASP через CSS,

то что-то вроде

Label {
color: Blue; 
}

Не получится. С другой стороны, используя файл скина, вы можете написать

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

и это установит все ярлыки в синий цвет.