4

属性を使用してノードを定義するプロジェクトを作成し、属性をスキャンするように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();
}
4

2 に答える 2

2

コントローラのメソッド属性で定義できますか(XMLをまったく使用しません)?

例えば:

[MvcSiteMapNode(Title="Details", 
  DynamicNodeProvider = "Project.StoreDetailsDynamicNodeProvider, Project")]
public ActionResult Index()
{
    return View();
}
于 2012-11-22T02:56:14.680 に答える