RenderSection 无法正常工作(Razor、MVC、ASP)

RenderSection is not working correctly (Razor, MVC, ASP)

我已经将 Header 定义为 _Layout

@if (User.Identity.IsAuthenticated == true)
{

    @RenderSection("_Header")
    @Html.Partial("_Header")
}
else
{
 <header>Home</header>
}

内页,我使用布局定义的部分如下:

@{
    Layout = "_Layout";
}

@section _Header{ }

 <div>
   <!-- some code -->
 </div>

@section _Footer{ }

并且代码崩溃了:

InvalidOperationException: The following sections have been 
defined but have not been rendered by the page at '/Views/Shared/_Layout.cshtml':'_Header'
To ignore an unrendered section call IgnoreSection("sectionName").

当我改成:

User.Identity.IsAuthenticated == false

一切正常。

为什么我遇到这个问题?

刚刚找到答案:

<body>

    @if (User.Identity.IsAuthenticated == false)
    {
        @Html.Partial("_Header")
    }
    else
    {
        <header>Home</header>
    }    

    @RenderBody()    

    @RenderSection("_Header", required: false)

</body>