2012-11-11 84 views
0

在我的主視圖(_Layout.cshtml)中我有一個樹形菜單。從_Layout.cshtml中刪除一段

我想刪除主頁面(主頁)中的樹狀菜單。
佈局的其餘部分應該停留在那裏,我希望家的身體佔據樹形菜單的空間。

任何有效的箱內選項?

+2

顯示您的layout.cshtml標記。雖然你可以通過jquery隱藏它 –

回答

3

一種方法可能是創建一個自定義查看頁面,並帶有用於顯示/排除樹狀菜單的標誌。

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

是的,這是有道理的。 – Shimmy