我有以下代码在_Layout.cshtml中剪切
当前上下文中不存在“DefineSection”名称 @H_403_4@请解释为什么,如果可能,告诉我如何解决这个问题
<div id="sub-navig-container"> @RenderSection("subNavig") </div> <div id="text-content"> @RenderBody() </div>@H_403_4@当我加入我的观点
@section subNavig { //some code }@H_403_4@它是工作很好,但是当我写在_ViewStart我有一个错误:
当前上下文中不存在“DefineSection”名称 @H_403_4@请解释为什么,如果可能,告诉我如何解决这个问题
解决方法
_ViewStart是一个来自ViewStartPage而不是WebViewPage的其他视图派生的特殊视图.而ViewStartPage类没有DefineSection方法.所以你不能在这个文件中定义段.您可以直接在布局中为此部分提供默认内容:
<div id="sub-navig-container"> @if (!IsSectionDefined("subNavig")) { // some default code } else { // render the code that was overridden in the child view @RenderSection("subNavig") } </div>