0

SiteMap ファイルの mvcSiteMapNode にノード プロバイダー名を指定して動的ノード プロバイダーを実装しましたが、正常に動作します。ただし、ユーザーが認証されたら動的ノードを追加したいだけです。その理由は、HttpContext.User.Identity にアクセスして、user.Identity でノードをフィルタリングできるようにするためです。

そのため、SiteMap ファイルの mvcSiteMapNode を削除し、代わりに Action メソッドで GetDynamicNodeCollection メソッドを呼び出しており (ユーザーが認証されたら)、ノードはユーザーによってフィルター処理されています。これも期待どおりに機能しています。

私の質問: ノードを取得したら、それらを SiteMapNodeCollection に追加して、ActionResult から返されるビューに表示されるようにするにはどうすればよいですか?

4

1 に答える 1

1

これはおそらく、SiteMapNodeVisibility プロバイダーの仕事であり、DynamicNodeProvider の仕事ではありません。

その理由は、ノードのキャッシュです。

于 2012-04-21T22:01:17.337 に答える