在ASP.NET Core中使用嵌套布局时出现空括号

时间:2017-07-18 21:42:16

标签: razor asp.net-core

在ASP.NET核心应用程序中,我有一个_Layout.cshtml文件,它定义了2个部分,这两个部分都在布局的<head>中,如下所示:

<head>
    @RenderSection("CSS", required: false)

    @RenderSection("Scripts", required: false)
</head>
<body>
    @RenderBody()
</body>

我正在尝试为要嵌套的某些视图创建布局,它由以下内容组成:

@{
    Layout = "_Layout";
}

<h1>@ViewBag.Title</h1>

@Html.ValidationSummary()

@BodyContent {
    @RenderBody()
}

@section CSS {
    @RenderSection("CSS", required: false)
}

@section Scripts {
    @RenderSection("Scripts", required: false)
}

并且需要这样的视图将其布局定义为使用此布局而不是_Layout。问题是任何使用此布局的View都会在内容的末尾附加{},而我找不到它的来源。无论View是否定义了CSS和/或Scripts部分,都会出现这种情况,并且在主_Layout和各个视图之间包含新布局之前没有出现。

1 个答案:

答案 0 :(得分:0)

固定,

@BodyContent {
    @RenderBody()
}

应该是:

@BodyContent
    @RenderBody()