【发布时间】:2015-07-28 23:45:05
【问题描述】:
我知道这个问题在 stackoverflow 上经常被问到。但是,我实施的解决方案并未修复此错误。
以下部分已定义但尚未为布局页面“~/Views/Shared/_Layout.cshtml”呈现:“脚本”。
在我的 _Layout.cshtml 页面中,我有以下代码:
<footer>
<p>©</p>
</footer>
@RenderSection("Scripts", required: false)
我创建的所有视图都可以找到,但是,由 asp.net mvc 项目预先创建的 Register.cshtml 和 Login.cshtml 以以下行结尾:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
我试过把这些线去掉,尝试了很多组合,但是问题还没有解决。
任何帮助将不胜感激。 :)
【问题讨论】:
-
required: false表示它是可选的,因此该错误似乎与您显示的代码无关。布局中还有其他@RenderSection("scripts")吗?也可以尝试将其包装在@if (IsSectionDefined("Scripts")) { @RenderSection("scripts" }中并在@RenderSection()上放置一个断点,看看它是否命中。 -
谢谢,布局中没有其他@RenderSection。我按照您的指示进行操作,@RenderSection() 没有被击中。
-
您显示的代码对我来说可以正常工作,这表明问题出在您未显示的代码中
标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor