2013-05-22 35 views
6

私の_Layout.cshtmlページには、表示されているビューに応じて特定の@ Styles.Renderバンドルのみを含めたいと考えています。たとえば、あるページがjQueryUIライブラリを使用していて、もう1つがjQueryUIライブラリを使用していて、そうでない場合にライブラリをダウンロードするようにしたくない場合があります。これを達成するために_layout.cshtmlで条件文を使用できますか?あなたの_Layout.cshtmlページで条件付き@ Scripts.Render in ASP.net MVC 4

+0

あなたは出力にレイアウトを使用していないのはなぜひとつひとつのページにロードしたくない私のスタイルシートのために、このような何かを行います全てのビューが必要とするベースラインスタイル/スクリプトを作成し、個々のビューに '@ section'を使ってファイルを追加させることができますか? –

+0

それは理にかなっている。ありがとう、@ TimMedora。 –

答えて

5

@RenderSection

@RenderSection("Page_Styles", required: false) 

を追加し、あなたの個々のビューでは、あなたはスクリプト

@RenderSection("Scripts", required: false) 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryui") 
} 
3

ために必要な

@section Page_Styles { 
    @Styles.Render("~/bundles/style/foo") 
} 

同じ考えのようにスタイルを追加することができますあなたはです_layout.cshtmlファイルにセクションを作成してからcontを追加する方が良いビュー自体の中のそのセクションに表示されます。

<!-- _layout.cshtml --> 
<head> 
    <!-- will load on every page --> 
    <link rel="stylesheet" href="common.css" /> 
    <!-- will load on only the views where you have @section CSS --> 
    @RenderSection("CSS", false) 
</head> 

、その後ビュー:

<p>some content</p> 
@section CSS { @Styles.Render("~/mystylesheet.css") }