Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 我可以在_Layout.cshtml中有条件地呈现部分视图吗?_Asp.net Mvc_Partial Views - Fatal编程技术网

Asp.net mvc 我可以在_Layout.cshtml中有条件地呈现部分视图吗?

Asp.net mvc 我可以在_Layout.cshtml中有条件地呈现部分视图吗?,asp.net-mvc,partial-views,Asp.net Mvc,Partial Views,假设我有一个_Layout.cshtml,其中我呈现了一个左侧边栏,这对于我的网站的每个页面都是通用的。 类似于这些的东西——比如菜单 <div id="left-sidebar"> @Html.Action("_MenuView", "LeftSideMenu") </div> @动作(“菜单视图”、“左侧菜单”) 我想要的一个功能是添加另一个局部视图,但只在网站的某些部分显示它 例如,在博客部分,我可能想显示一个帖子类别列表或帖子的树状视图 <di

假设我有一个_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>

@动作(“菜单视图”、“左侧菜单”)
@如果(“?”)
{
@动作(“_BlogTreeView”,“blogcentries”)
}

我怎么能这么做?我知道如果我渲染的视图由BlogController返回,我想显示“\u BlogTreeView”。。。我该从哪里开始呢?

在布局中,添加此
部分

@RenderSection("blogEntries", false)
然后在要显示局部视图的每个视图中添加以下内容:

@section blogEntries {
    @Html.Action("_BlogTreeView", "BlogEntries")
}

为什么不使用分区?在_布局中创建一个部分,并在相关的视图中实现它。这非常有帮助。