I have:
- VS 2013
- MVC 5.2.2
- 剃须刀3.2.2
如果您还有其他需要了解的信息,请告诉我。
此问题仅发生在一个视图页面上。
我有一个视图,所有 HTML 标签都正确关闭
这是你的标准观点...
@model MyNameSpace.Models.Inquiry
@{
var hasFormSetup = Model != null && Model.FormSetup != null && Model.FormSetup.Count > 0;
if (hasFormSetup)
{
ViewBag.Title = Model.FormSetup[0].InquiryValue;
}
Layout = "~/Views/Shared/_LayoutInquiry.cshtml";
}
<style scoped>
ul {
list-style-type: none;
}
</style>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="container" style="margin-top: 5px;">
etc...
</div>
<div class="container" >
etc...
</div>
}
@section Scripts
{
<script type="text/javascript">
$(document).ready(function () {
etc...
});
</script>
}
but...
在线上
@section Scripts
Resharper 报告:“无法解析部分脚本”
当我运行时,出现异常:
Source: System.Web.WebPages
Target: Void VerifyRenderedBodyOrSections()
Type: HttpException
Message: The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_LayoutInquiry.cshtml": "Scripts".
Stack: at System.Web.WebPages.WebPageBase.VerifyRenderedBodyOrSections()
at System.Web.WebPages.WebPageBase.PopContext()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.WebPages.WebPageBase.<>c__DisplayClass3.<RenderPageCore>b__2(TextWriter writer)
at System.Web.WebPages.HelperResult.WriteTo(TextWriter writer)
at System.Web.WebPages.WebPageBase.Write(HelperResult result)
at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
at System.Web.WebPages.WebPageBase.PopContext()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
etc...
其他页面没有这个问题。
关于如何解决这个问题有什么想法吗?
异常消息显示:
布局页面“~/Views/Shared/_LayoutInquiry.cshtml”已定义但尚未呈现以下部分:“Scripts”。
这表明您的_LayoutInquiry.cshtml
页面没有设置占位符Scripts
部分。您可以通过添加来做到这一点@RenderSection("Scripts", false)
到布局页面的适当位置,其中false
表示视图可以选择提供此部分。
现在,当您的视图呈现时,内容@section Scripts { ... }
在你看来将被渲染到的位置@RenderSection("Scripts", false)
调用您的布局页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)