【问题标题】:RenderSection is not working correctly (Razor, MVC, ASP)RenderSection 无法正常工作(Razor、MVC、ASP)
【发布时间】:2019-12-21 21:12:41
【问题描述】:

我已将 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

一切正常。

为什么我会遇到这个问题?

【问题讨论】:

    标签: html asp.net-mvc razor partial-views


    【解决方案1】:

    刚刚找到答案:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多