【问题标题】:Footer does not render correctly (Razor)页脚无法正确渲染(Razor)
【发布时间】:2019-12-19 23:19:47
【问题描述】:

我已经定义了_Layout.cshtml

...
<body>

    @RenderBody()

    @if (IsSectionDefined("_Footer"))
    {
        @RenderSection("_Footer")
    }
    else
    {
        <footer>Copyright @DateTime.Now.Year</footer>
    }

</body>
...

我在文件夹中创建了 _Footer.cshtmlViews/Shared/_Footer.cshtml

不,我想将它添加到我的视图中:

@{
    Layout = "_Layout";
}

//html code

RenderBody 已生成,但我总是从 else - Copyright 2019 获得 footer

我做错了什么?

【问题讨论】:

    标签: asp.net-mvc razor model-view-controller layout view


    【解决方案1】:

    在_Layout.cshtml 中给出@Html.Partial("Views/Shared/_Footer.cshtml")。这样它就会在每个页面中呈现。

    @RenderBody()
    @Html.Partial("~/Views/Shared/_Footer.cshtml")
    

    【讨论】:

      【解决方案2】:

      一个部分不是另一个文件,那将是一个局部视图。部分是视图内的容器。

      在你的视图中,如果你添加这个(里面有数据)那么它应该替换你的默认值。

      @section _Footer {
          ...
      }
      

      【讨论】: