質問

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>

これは青色に、すべてのラベルを設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top