Domanda

Qual è la differenza principale tra .skin e .css in asp.net?

.skin è nuovo miglioramento di IDE. Ho lavorato con .css. Ciò che è disponibile in .skin che non è a .css

Grazie, Saj

È stato utile?

Soluzione

Nel file di pelle è possibile impostare le proprietà di controlli ASP.NET.

Ad esempio,

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

Tutti i controlli TextBox nella vostra applicazione avrà larghezza di 200.

Si può dare un nome e solo le gradite potete impostare loro di applicare una pelle controlli per esempio,

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

ora in una pagina web quando aggiunge controllo TextBox è possibile impostare la sua SkinID di essere "MultiLineTextBox" come il seguente,

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

e quindi erediterà la TextMode come MultiLine e l'altezza come 240.

Per usare la pelle si deve aggiungere un tema per la vostra applicazione sotto la cartella App_Themes e ci si aggiunge il file pelle, ora di utilizzare questo tema nelle vostre pagine è necessario impostare la proprietà EnableTheming della pagina per vero, StylesheetTheme o tema per il nome del vostro tema. È inoltre possibile impostare questa proprietà nel file di configurazione.

Impostazione del tema nella pagina aspx,

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

Impostazione del tema nel web.config,

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

Altri suggerimenti

Si noti che, in termini di ciò che queste due cose in realtà do v'è una notevole differenza. Tutte le proprietà impostate nel file vengono copiati .skin fuori a tutti i controlli della pagina. Un vantaggio di utilizzare fogli di stile è che le informazioni vengono caricate e memorizzata nella cache una volta. (E può essere applicato a più pagine web.) File della pelle possono causare pagina gonfiare perché tutte le proprietà impostate nel file pelle devono essere uniti con tutti i controlli colpita ogni volta che la pagina viene visualizzata.

Inoltre, il comportamento predefinito del tema ASP.NET .skin file è quello di di override le proprietà dei controlli essere colpiti (questo può essere un comportamento imprevisto). Ad esempio, se si imposta la proprietà Width per tutti ASP: etichette nel file .skin, tutte le ASP: Le etichette che utilizzano il file pelle avranno le loro proprietà Width impostate a quella del file .skin è indipendentemente dall'impostazione Width individuale del controllo. Per evitare questo comportamento, l'ASP.NET StyleSheetTheme può essere utilizzata per consentire proprietà a livello di controllo per ignorare le proprietà globali .skin.

È possibile impostare alcune proprietà come la larghezza anche in CSS. Oltre ad essere in grado di impostare le proprietà CSS che non possono, ci sono alcune cose che avete bisogno di file .skin per.

Si consideri un esempio in cui avete bisogno di tutto l'asp: controlli Label sulla tua pagina per essere di colore blu. A asp: Label è in realtà il testo all'interno di un arco, questo è all'interno di un div nascosti. Questo è il motivo per cui siamo in grado di impostare alcune proprietà come BackColor a questa asp:. Etichetta e perché il controllo etichetta standard non avere una proprietà 'BackColor'

Quindi, se si tenta di impostare il colore del font per tutte le etichette ASP attraverso i CSS,

quindi qualcosa come

Label {
color: Blue; 
}

Non funziona. D'altra parte, utilizzando un file di interfaccia è possibile scrivere

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

e questo imposterà tutte le etichette di colore blu.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top