9

プロジェクトで ASP.NET MVC SiteMap プロバイダーを使用していますが、うまく機能しています。ただし、メニュー項目を非表示にする方法を理解するのに苦労しています。グローバル ナビゲーションに表示されないようにしたいメニュー項目は、「サイト マップ」ページです。VisibilityProviderこれで、mvcSiteMapNode で利用できるa と呼ばれるものがあることがわかりましたが、それを機能させる方法がわかりません。

4

2 に答える 2

5

まず、この wiki ページを読むことをお勧めします:カスタム SiteMapNodeVisibilityProvider の作成。次に、サイト マップ ページを指す特定のノードについて、次のように宣言します。

<mvcSiteMapNode title="Site Map" controller="Home" action="Map" visibility="false" />

ここで、メソッドを実装するときにIsVisible(上記のリンクの wiki ページに示されています)、次のことができます。

string visibility = mvcNode["visibility"];

// Is a visibility attribute specified?
if (!string.IsNullOrEmpty(visibility))
{
     isVisible = Convert.ToBoolean(mvcNode["visibility"]);

     if (!isVisible)
     {
          return false;
     }
}

return true;
于 2012-09-23T10:48:45.863 に答える