首页 > 解决方案 > 如何将部分传递给布局中的部分?

问题描述

在 ASP.net MVC 5 中,我们可以使用

@section AnySection{
  //section code here
}

并在布局中渲染它

@RenderSection("AnySection", required: false)

但是我们如何才能将该部分再次传递给该布局内的部分?请参阅下图以供参考 是我的布局内的部分视图我已经用许多部分视图制作了我的布局。当我如上图所示尝试此操作时,它给了我这个错误我们如何将该部分传递给部分? subheader-v1

无法直接请求文件“~/Views/Shared/partials/_subheader/subheader-v1.cshtml”,因为它调用了“RenderSection”方法。

标签: c#asp.netasp.net-mvcasp.net-coreasp.net-mvc-5

解决方案


您不会将部分传递给布局。布局决定了应该(或可以)在视图中呈现哪些部分......它还决定了应该在视图中的何处呈现该部分。

来自MS 文档

通过调用 RenderSection,布局可以选择引用一个或多个部分。部分提供了一种方法来组织某些页面元素的放置位置。

部分在局部视图中不起作用,这是设计使然。您需要移动RenderSection到您的布局和部分正文到您的视图。有关更多信息,请参阅此问题


推荐阅读