在我的_Layout.cshtml页面中,我想只包含某些@ Styles.Render包,具体取决于所显示的视图。例如,一个页面可能使用jQueryUI库而另一个页面可能没有,如果我不需要,我不想发出下载库的请求。我可以在_layout.cshtml中使用条件语句来实现这一目标吗?
答案 0 :(得分:6)
在_Layout.cshtml
页面中添加@RenderSection
@RenderSection("Page_Styles", required: false)
然后在您的个人视图中,您可以根据需要添加样式
@section Page_Styles {
@Styles.Render("~/bundles/style/foo")
}
脚本相同的想法
@RenderSection("Scripts", required: false)
@section Scripts {
@Scripts.Render("~/bundles/jqueryui")
}
答案 1 :(得分:4)
最好在_layout.cshtml文件中创建一个部分,然后在视图中向该部分添加内容。我为我的样式表做了类似的事情,我不想在每一页上加载:
<!-- _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") }