2013-05-22 19 views
6

_Layout.cshtml sayfamda, görüntülenen görünüme bağlı olarak yalnızca belirli @ Stiller.Render demetleri eklemek istiyorum. Örneğin, bir sayfa jQueryUI kütüphanesini kullanabilirken bir başkası olmayabilir ve eğer mecburiysem kütüphaneyi indirme isteğini yapmak istemiyorum. Bunu gerçekleştirmek için _layout.cshtmlimde bir koşullu ifade kullanabilir miyim? komutKoşullu @ Scripts.Render in ASP.net MVC 4

Sen
@RenderSection("Scripts", required: false) 

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

Neden çıkışa düzenini kullanmayan ben her bir sayfayı yüklemek istemiyorum benim stil için böyle bir şey yapmak tüm görünümlerin ihtiyaç duyduğu taban çizgisi stilleri/komut dosyaları ve daha sonra bireysel görünümlerin bir '@ section' kullanarak ek dosyalar eklemesine izin verilsin mi? –

+0

Tamam. Bu mantıklı. Teşekkürler, @MimMedora. –

cevap

5

stilleri ekleyebilir bireysel görünümlerinde Sonra @RenderSection

@RenderSection("Page_Styles", required: false) 

eklemek _layout.cshtml dosyanızda bir bölüm oluşturup daha sonra devam ederek bu bölümün kendisine ait bölüm.

<!-- _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> 

ve sonra görünümü:

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

için

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

aynı fikri gerektiği gibi _Layout.cshtml sayfasında