我创建了一个使用属性定义节点的项目,并将其设置在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();
}