.net – _ViewStart.cshtml中的RenderSection()问题

我有以下代码在_Layout.cshtml中剪切
<div id="sub-navig-container">
    @RenderSection("subNavig")
</div>

<div id="text-content">
    @RenderBody()
</div>

当我加入我的观点

@section subNavig
{
    //some code
}

它是工作很好,但是当我写在_ViewStart我有一个错误:
当前上下文中不存在“DefineSection”名称

请解释为什么,如果可能,告诉我如何解决这个问题

解决方法

_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>

相关文章

HTML代码中要想改变字体颜色,常常需要使用CSS样式表。CSS是...
HTML代码如何让字体盖住图片呢?需要使用CSS的position属性及...
HTML代码字体设置 在HTML中,我们可以使用标签来设置网页中的...
在网页设计中,HTML代码的字体和字号选择是非常重要的一个环...
HTML(Hypertext Markup Language,超文本标记语言)是一种用...
外链是指在一个网页中添加一个指向其他网站的链接,用户可以...