6

在我的 _Layout.cshtml 页面中,我只想包含某些 @Styles.Render 包,具体取决于正在显示的视图。例如,一个页面可能使用 jQueryUI 库,而另一个页面可能不使用,如果我不需要,我不想请求下载库。我可以在我的 _layout.cshtml 中使用条件语句来实现这一点吗?

4

2 回答 2

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")
}
于 2013-05-22T18:43:10.047 回答
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") }
于 2013-05-22T18:43:35.977 回答