如何在包含布局模板的页面中添加头部分

时间:2014-05-23 08:02:21

标签: css asp.net asp.net-mvc asp.net-mvc-4

我需要为我的页面“Index.cshtml”添加具有布局“_BasicLayout.cshtml”的特定css文件。

在ASP.NET WebForms中,我可以使用ContentPlaceHolder这样做:

母版页:

<head>
    <Link rel="stylesheet" type="text/css" href="common.css" />
    <ContentPlaceHolder ID="Head" />
</head>

子页面(布局=母版页):

<asp:Content ContentPlaceHolderID="Head">
     <Link rel="stylesheet" type="text/css" href="specific.css" />
</asp:Content>

问题:

如何在ASP.NET MVC中执行此操作?

2 个答案:

答案 0 :(得分:2)

在“布局”页面中输入以下内容:

@RenderSection("AdditionalStyles", required: false)

然后,在您要使用它的子页面中,您可以执行以下操作:

@section AdditionalStyles
{
    @Styles.Render("~/Content/fileupload/css")
}

答案 1 :(得分:0)

使用可选的section(旧但准确的参考)。

在布局中:

<head>
    @* things you always want in the head *@
    <title>@ViewBag.Title</title>
    <link rel="Stylesheet" href="~/my-main-stylesheet.css" type="text/css" />

    @* an optional section called "styles" *@
    @RenderSection( "styles", false )
</head>

在您需要添加样式表的视图中:

@section styles {
    <link rel="Stylesheet" href="~/another-stylesheet.css" type="text/css" />
}