2016-04-18 28 views
-1

私の 'レイアウト'で参照されている 'global.css'は@Url.Content(path_to_css_file)です。そして私は自分の* .cssを含むように私の意見をいくつか出したいと思っています。これを達成する正しい方法はどれですか?私はちょうど<style></style>それぞれのビューにしようとしましたが、それは最高のソリューションからかなり離れているようですね、それとも?Asp.Netグローバルとローカル* .cssを組み合わせたMVCの剃刀

+0

あなたのページにヘッドタグを追加し、スタイルシートを挿入します。 – jbutler483

+0

答えがありましたか? –

答えて

0

ViewBagを使用してレイアウトページに加えてビューを追加することをお勧めします。

このような何か追加:だけにViewBag.LayoutStyle値を設定し、global.cssをした後、あなたのグローバルスタイル後の第2のCSSファイルを追加したいビューでレイアウト・ファイルに

@if (ViewBag.LayoutStyle != null) 
{ 
    <link href="@ViewBag.LayoutStyle" rel="stylesheet"/> 
} 

をCSSファイルのURL。

この方法では、グローバルなCSSファイルを使用する機会があり、読み込んでいるビューに基づいて、異なるCSSファイルをロードして、ビューに基づいてグローバルなCSSをオーバーライドすることができます。

-1

ベスト・アプローチは、スタイルとスクリプトの参照にバンドルを使用することです。 だから、App_Startフォルダ内のBundleConfigクラスに追加します。その後、

bundles.Add(new StyleBundle("~/Content/myglobalcss").Include(
"~/Content/global.css" 
)); 

bundles.Add(new StyleBundle("~/Content/mylocalcss").Include(
"~/Content/local.css" 
)); 

をご_Layout.cshtml <head>タグ書き込みでこの行:

@Styles.Render("~/Content/myglobalcss") 

例えばあなたIndex.cshtmlビューで、この行を追加します

@Styles.Render("~/Content/mylocalcss") 

これは、特にあなたのインデックスビューにlocal.cssを表示します。実際には、各バンドルで複数の* .cssファイルを参照し、必要に応じて使用することができます。

関連する問題