Asp.net mvc 4 以下章节已定义,但尚未呈现在布局页面中~/Views/MasterPages/Default.cshtml";:&引用;标题「;
我得到了渲染部分的错误,下面是错误的堆栈跟踪。 我在“Default.cshtml”页面中进行了交叉检查,发现呈现部分是可选的,但我仍然收到了这个错误 Default.cshtml:Asp.net mvc 4 以下章节已定义,但尚未呈现在布局页面中~/Views/MasterPages/Default.cshtml";:&引用;标题「;,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,我得到了渲染部分的错误,下面是错误的堆栈跟踪。 我在“Default.cshtml”页面中进行了交叉检查,发现呈现部分是可选的,但我仍然收到了这个错误 Default.cshtml: <title>@RenderSection("Title",required: false)</title> @RenderSection(“Title”,必填项:false) 堆栈跟踪: System.Web.WebPages.WebPageBase : VerifyRende
<title>@RenderSection("Title",required: false)</title>
@RenderSection(“Title”,必填项:false)
堆栈跟踪:
System.Web.WebPages.WebPageBase : VerifyRenderedBodyOrSections The following sections have been defined but have not been rendered for the layout page "~/Views/MasterPages/Default.cshtml": "Title". 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__DisplayClass7.<RenderPageCore>b__6(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)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.<BeginInvokeAction>b__20()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
System.Web.WebPages.WebPageBase:VerifyRenderedBodyOrSections已为布局页面“~/Views/MasterPages/Default.cshtml”定义了以下部分,但尚未呈现这些部分:“Title”。在System.Web.WebPages.WebPageBase.VerifyRenderedBodyOrSections()中
在System.Web.WebPages.WebPageBase.PopContext()中
位于System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext、TextWriter writer、WebPageRenderingBase起始页)
在System.Web.WebPages.WebPageBase.c__DisplayClass7.b__6(文本编写器)中
位于System.Web.WebPages.HelperResult.WriteTo(文本编写器)
在System.Web.WebPages.WebPageBase.Write(HelperResult结果)中
位于System.Web.WebPages.WebPageBase.RendersUrounding(字符串partialViewName,操作`1 body)
在System.Web.WebPages.WebPageBase.PopContext()中
位于System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext、TextWriter writer、WebPageRenderingBase起始页)
位于System.Web.Mvc.RazorView.RenderView(ViewContext-ViewContext、TextWriter-writer、对象实例)
位于System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext、ViewContext、TextWriter)
在System.Web.Mvc.ViewResultBase.ExecuteSult(ControllerContext上下文)中
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext ControllerContext,ActionResult ActionResult)
在System.Web.Mvc.ControllerActionInvoker.c_uuDisplayClass1A.b_uuu17()中
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter筛选器、ResultExecutingContext预文本、Func`1 continuation)
在System.Web.Mvc.ControllerActionInvoker.c_uuDisplayClass1A.c_uuDisplayClass1C.b_uu19()中
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext ControllerContext,IList`1 filters,ActionResult ActionResult)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c_uuDisplayClass25.c_uuDisplayClass2A.b_u20()中
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass25.b__22(IAsyncResult asyncResult)
位于System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult`1.End()
位于System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
在System.Web.Mvc.Controller.c__;u displayClassId.b__u18(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
位于System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult`1.End()
位于System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
位于System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult`1.End()
在System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)上
位于System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)
在System.Web.Mvc.MvcHandler.c_uuu显示class8.b_uuu3(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
位于System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult`1.End()
位于System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
在System.Web.Mvc.MvcHandler.System.Web.IHTTPassynchandler.EndProcessRequest中(IAsyncResult结果)
在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中
在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)
请告诉我哪里做错了。谢谢。该错误具体是由定义该节的视图引起的,即:
@section Title { ... }
但是,该部分从未使用过。这只能意味着这个特定的视图没有利用您的Default.cshtml
布局,因为它实现了这个部分。你需要弄清楚为什么它没有利用你认为应该的布局。以下是一些需要注意的事项:
\u ViewStart.cshtml
文件确定。Razor将首先在与所讨论的视图相同的文件夹中查找,然后从那里向上遍历视图
目录树。检查该树中的任何和所有\u ViewStart.cshtml
文件@RenderSection("Title", required: false)
@{ Layout = "~/Views/Shared/Default.cshtml"; }
@{ Layout = "~/Views/Shared/SubLayout.cshtml"; }
@section Title { ... }
SubLayout.cshtml
@RenderSection("Title", required: false)
@{ Layout = "~/Views/Shared/Default.cshtml"; }
@{ Layout = "~/Views/Shared/SubLayout.cshtml"; }
@section Title { ... }
View.cshtml
@RenderSection("Title", required: false)
@{ Layout = "~/Views/Shared/Default.cshtml"; }
@{ Layout = "~/Views/Shared/SubLayout.cshtml"; }
@section Title { ... }
由于SubLayout.cshtml
未实现该部分,您将收到此错误。要重新定义它,只需将以下内容添加到SubLayout.cshtml
:
@section Title
{
RenderSection("Title", required: false)
}
我没有使用_viewStart.cshtml并在每个页面和部分标题上添加布局。但我发现了一个局部视图,其中章节标题被称为局部视图,我不使用布局。因此,请建议我,这可能会导致问题,并产生这个问题。