質問
asp.net?
で.skin
と.css
の主な違いは何ですか
.skin
は、IDEの新しい拡張機能です。私は.css
に取り組んできました。 .skin
.css
で利用可能とは何ですか
おかげで、 SAJ
解決
スキンファイルでは、asp.netのコントロールのプロパティを設定することができます。
たとえば、
<asp:TextBox runat="server" Width="200"/>
あなたのアプリケーションのすべてのTextBoxコントロールは、200の幅があります。
あなたはそれに名前を付け、あなたが
、例えばスキンを適用するためにそれらを設定することができます好きなだけコントロールすることができます<asp:TextBox SkinID="MultiLineTextBox" runat="server" TextMode="MultiLine" Height="240"/>
TextBoxコントロールを追加したときに今のWebページでは、「MultiLineTextBox」であることをそのSkinIDを設定することができます 以下のように、
<asp:TextBox runat="server" SkinID="MultiLineTextBox"/>
ので、それは240として複数行としてテキストモードと高さを継承します。
あなたはApp_Themesフォルダの下に、あなたのアプリケーションにテーマを追加する必要があり、あなたは今、あなたは、StylesheetTheme trueにページのEnableThemingプロパティを設定する必要があなたのページにこのテーマを使用するために、スキンファイルをそこに追加スキンを使用するにはまたはテーマテーマの名前に。また、設定ファイルにこのプロパティを設定することができます。
ページの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ファイルに設定された任意のプロパティは、ページコントロールのすべてに出てコピーされます。カスケーディング・スタイル・シートを使用する利点は、情報がロードされ、一度キャッシュされていることです。 (および複数のWebページに適用することができます。)スキンファイルに設定されたすべてのプロパティは、すべての影響を受けるコントロールでページがレンダリングされるたびにマージされなければならないので、スキンファイルは、ページの膨張を引き起こす可能性があります。
また、ファイル.skin ASP.NETテーマのデフォルトの動作は、のオーバーライドコントロールのの性質が影響される(これは予期しない動作可能)にあります。あなたはすべてのASPのためWidth
プロパティを設定している場合たとえば、:あなたの.skin
ファイル内のラベル、すべてのASP:スキンファイルを使用するラベルは、そのWidth
の性質に関係なく、コントロールの個々の.skin
設定のWidth
ファイルののものに設定されています。この動作を回避するために、ASP.NET StyleSheetThemeはグローバル.skinのプロパティをオーバーライドするために制御レベルのプロパティを可能にするために使用することができます。
あなたも、CSSで幅のようないくつかのプロパティを設定することができます。別にCSSは、あなたがのために.skinファイルを必要とするいくつかのものがあることができないという一連の特性にできることから。
青色であることをあなたのページにLabelコントロール:あなたはすべてのASPを必要とする例を考えてみましょう。 ASP:ラベルが隠されたdivの内側のthats、実際にはスパン内のテキストです。私たちは、このASPにBackColorプロパティのようないくつかのプロパティを設定することができます理由はここにある:ラベル、なぜ標準ラベルコントロールは、「BackColorプロパティ」プロパティを持っていません。
だから、あなたはCSSを介してすべてのASPラベルにセットフォントの色にしようとした場合、
そして
のようなものLabel {
color: Blue;
}
は動作しません。一方、スキンファイルを使用して、あなたが書くことができます。
<asp:Label runat="server" ForeColor="Blue"></asp:Label>
これは青色に、すべてのラベルを設定します。