1

在我的主视图(_Layout.cshtml)中,我有一个树形菜单。

我想删除主页(主页)中的树形菜单。
其余的布局应该留在那里,我希望家的主体占据树形菜单的空间。

任何有效的开箱即用选项?

4

1 回答 1

4

一种方法可以是创建一个带有用于显示/排除树形菜单的标志的自定义视图页面。

public class CustomViewPage<T> : WebViewPage 
{
    public bool ShowTreeMenu 
    { 
        get 
        {
            return (ViewBag.ExcludeMenu == null || ViewBag.ExcludeMenu == false);
        }         
    }
}

从布局文件中继承自定义类:

@inherits CustomViewPage<dynamic>

然后(在布局文件中)仅在以下情况下显示树形菜单:

<nav>
@if (ShowTreeMenu)
{ 
    @Html.Partial("_TreeMenu")                            
}
</nav>

并在应排除菜单时从内容页面设置标志:

@{
  ViewBag.Title = "Home Page";
  ViewBag.ExcludeMenu = true;
 }
于 2012-11-11T08:42:28.113 回答