【问题标题】:Remove a section from _Layout.cshtml从 _Layout.cshtml 中删除一个部分
【发布时间】:2012-11-11 02:06:50
【问题描述】:

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

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

任何有效的现成选项?

【问题讨论】:

  • 显示你的 layout.cshtml 标记。虽然你也可以通过 jquery 隐藏它

标签: asp.net-mvc master-pages layout-page


【解决方案1】:

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

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;
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    相关资源
    最近更新 更多