.skin против .css от asp.net - PullRequest
       5

.skin против .css от asp.net

13 голосов
/ 27 октября 2010

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

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

спасибо, saj

Ответы [ 3 ]

20 голосов
/ 27 октября 2010

В файле скина вы можете установить свойства элементов управления 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>
7 голосов
/ 27 октября 2010

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

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

1 голос
/ 07 мая 2014

Вы можете установить некоторые свойства, такие как ширина, даже в 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>

, и все метки будут окрашены в синий цвет.

...