如何在具有布局模板的页面中添加 head 部分
Posted
技术标签:
【中文标题】如何在具有布局模板的页面中添加 head 部分【英文标题】:How to add head section in a page that has layout template 【发布时间】:2014-07-12 12:01:27 【问题描述】:我需要为具有布局“_BasicLayout.cshtml”的页面“Index.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 中做到这一点?
【问题讨论】:
【参考方案1】:在您的布局页面中添加如下内容:
@RenderSection("AdditionalStyles", required: false)
然后在你想要使用它的子页面中,你可以这样做:
@section AdditionalStyles
@Styles.Render("~/Content/fileupload/css")
【讨论】:
非常感谢您的帮助。【参考方案2】:使用可选的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" />
【讨论】:
以上是关于如何在具有布局模板的页面中添加 head 部分的主要内容,如果未能解决你的问题,请参考以下文章