代码之家  ›  专栏  ›  技术社区  ›  4est

renderSection工作不正常(razor、mvc、asp)

  •  -1
  • 4est  · 技术社区  · 5 年前

    我已经定义了 页眉 进入之内 _布局

    @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
    

    它工作得很好。

    为什么我有这个问题?

    0 回复  |  直到 5 年前
        1
  •  0
  •   4est    5 年前

    刚找到答案:

    <body>
    
        @if (User.Identity.IsAuthenticated == false)
        {
            @Html.Partial("_Header")
        }
        else
        {
            <header>Home</header>
        }    
    
        @RenderBody()    
    
        @RenderSection("_Header", required: false)
    
    </body>