ASP.net MVC 4中的条件@ Scripts.Render

时间:2013-05-22 18:33:07

标签: asp.net-mvc

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

2 个答案:

答案 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") }