我只是遇到了一些我不希望看到的错误...
为了清楚起见,我将显示工作代码和错误代码:
这是有效的
_MainLayout.cshtml
<div id="content">
<h1>@Page.Title</h1>
@RenderSection("left", false)
@RenderBody()
</div>
页面.cshtml
@section left{
<p>Some text on left side</p>
}
<div>
Some content
</div>
在这种情况下,一切正常,但是当我@RenderSection("left", false)
在内部删除时,_MainLayout.cshtml
我得到了异常!我需要哪种情况?请参见下面的示例:
这是行不通的
_MainLayout.cshtml
@if (WebSecurity.IsAuthenticated) {
<h1>@Page.Title</h1>
@RenderSection("left", false)
@RenderBody()
} else {
<h1>You not logged in!</h1>
<p>To see this page, you have to login first.</p>
}
页面.cshtml
@section left{
<p>Some text on left side</p>
}
<div>
Some content
</div>
在这种情况下,如果用户未通过身份验证,我会遇到以下异常:
描述: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
异常详细信息: System.Web.HttpException: Следующие разделы были определены, но не были обработаны для страницы макета "~/_MainLayout.cshtml": "left".
可以翻译为: Section was created but wasn't rendered for layout page "~/_MainLayout.cshtml": "left".
源错误:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
堆栈跟踪:
[HttpException (0x80004005): Следующие разделы были определены, но не были обработаны для страницы макета "~/_MainLayout.cshtml": "left".]
System.Web.WebPages.WebPageBase.VerifyRenderedBodyOrSections() +91298
System.Web.WebPages.WebPageBase.PopContext() +332
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +95
System.Web.WebPages.<>c__DisplayClass7.<RenderPageCore>b__6(TextWriter writer) +102
System.Web.WebPages.HelperResult.WriteTo(TextWriter writer) +12
System.Web.WebPages.WebPageBase.Write(HelperResult result) +67
System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body) +66
System.Web.WebPages.WebPageBase.PopContext() +262
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +95
System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContext context) +249
问题是:我怎样才能让它工作?任何建议都很有价值!