6

假设我有一个 _Layout.cshtml,我在其中呈现了一个左侧边栏,这对我网站的每个页面都是通用的。这些方面的东西 - 例如菜单

<div id="left-sidebar">
    @Html.Action("_MenuView", "LeftSideMenu")
</div>

我想要的一个功能是添加另一个部分视图,但只在网站的某些部分显示。

例如,在博客部分,我可能想要显示帖子类别列表或帖子的树视图。

<div id="left-sidebar">
    @Html.Action("_MenuView", "LeftSideMenu")

    @if ("???")
    {
        @Html.Action("_BlogTreeView", "BlogEntries")
    }
</div>

我怎么能那样做?如果我正在渲染的视图由 BlogController 返回,我知道我想显示“_BlogTreeView”......我从那里去哪里?

4

1 回答 1

9

在你的布局中,添加这个section

@RenderSection("blogEntries", false)

然后在要显示局部视图的每个视图中添加:

@section blogEntries {
    @Html.Action("_BlogTreeView", "BlogEntries")
}
于 2013-03-11T22:41:56.473 回答