属性を使用してノードを定義するプロジェクトを作成し、属性をスキャンするようにweb.configに設定したところ、正常に動作しました。
XML ファイルはまったく使用しません。
動的ノード プロバイダーを追加したいのですが、どうすればよいですか? XML ( .sitemap ) ファイル
なしでそれを行う方法はありますか?
属性を使用してコードで設定されているルートの下にあることを確認する必要があります。MvcSiteMapNodeAttribute
私はドキュメントを読みましたが、この行をどこに置くべきか本当にわかりません:
<mvcSiteMapNode
title="Details" action="Details"
dynamicNodeProvider="Project.StoreDetailsDynamicNodeProvider, Prject" />
どのアクションを指しているはずですか?さらに、上記のように、ルート要素は属性を使用して定義されるため、私の質問は、XML を回避する方法があるかどうか、または動的プロバイダーを含めるために XML を宣言する効率的な方法 (少ないほど良い) は何かということです。
アップデート
次のことを試しましたが、ノード プロバイダーにまだ到達していません ( From HomeController.cs )。
[MvcSiteMapNode(Title = "Home", Key = HomeMenuKey,
DynamicNodeProvider = "Project.Namespace.NodeProvider, Assembly")]
public ActionResult Index()
{
return View();
}