尚未针对布局页面进行渲染

时间:2016-05-12 06:45:19

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor

我从共享文件夹中删除了_Layout.cshtml并创建了一个新的_Layout.cshtml,但遗憾的是它无效。

抛出这个

  

以下部分已定义,但尚未针对布局页面“〜/ Views / Shared / _Layout.cshtml”:“Scripts”进行渲染。

所以我的页面工作如果设置

@{
    ViewBag.Title = "Index";
    Layout = null;
}

  @{
        ViewBag.Title = "Index";
       Layout = "~/Views/Shared/_Layout.cshtml";
    }

所以我没有兴趣设置这种方式,因为我有100多个视图页面任何帮助我。我怎么能这样做

谢谢

2 个答案:

答案 0 :(得分:0)

您确定布局位于正确的共享文件夹中吗?如果是这样,请发布布局的标题部分?

希望有所帮助:)

答案 1 :(得分:0)

在您的布局页面中,您应该看到

@RenderSection("Scripts", true)

@RenderSection("Scripts")

这基本上指示解释器使用此布局的任何页面都应具有脚本部分,例如:

@section Scripts {
//whatever goes here
}

如果您不希望该部分只是从布局页面中移除@RenderSection,或者您希望它是可选的,请在@RenderSection("Scripts", false)中将第二个参数更改为false。否则,如上所述,将脚本部分添加到子页面。