私のマスター ビュー (_Layout.cshtml) には、ツリー メニューがあります。
メインページ(ホーム)でそのツリーメニューを削除したい。
残りのレイアウトはそのままにしておく必要があります。家の本体がツリー メニューのスペースを占有するようにします。
効率的な組み込みオプションはありますか?
私のマスター ビュー (_Layout.cshtml) には、ツリー メニューがあります。
メインページ(ホーム)でそのツリーメニューを削除したい。
残りのレイアウトはそのままにしておく必要があります。家の本体がツリー メニューのスペースを占有するようにします。
効率的な組み込みオプションはありますか?
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;
}