加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MvcSiteMap:未到达动态节点提供程序

发布时间:2020-12-16 09:48:30 所属栏目:asp.Net 来源:网络整理
导读:我创建了一个项目,使用属性定义节点,我在web.config中设置它来扫描属性,它工作正常. 我根本不使用 XML文件. 现在我想添加一个动态节点提供程序,我该怎么做? 有没有办法在没有XML(.sitemap)文件的情况下做到这一点? 我需要确保它位于根目录下,该根目录已使
我创建了一个项目,使用属性定义节点,我在web.config中设置它来扫描属性,它工作正常.
我根本不使用 XML文件.

现在我想添加一个动态节点提供程序,我该怎么做?
有没有办法在没有XML(.sitemap)文件的情况下做到这一点?
我需要确保它位于根目录下,该根目录已使用MvcSiteMapNodeAttribute属性在代码中设置.

我已经阅读了documentation,我无法确定这条线的位置:

<mvcSiteMapNode
  title="Details" action="Details"              
  dynamicNodeProvider="Project.StoreDetailsDynamicNodeProvider,Prject" />

应该指出什么行动?另外如上所述,根元素是使用属性定义的,所以我的问题是是否有一种方法可以避免使用XML,或者是什么是声明XML的有效方式(越少越好)包含我的动态提供者.

更新

我已经尝试了以下内容,但仍未找到节点提供程序(来自HomeController.cs).

[MvcSiteMapNode(Title = "Home",Key = HomeMenuKey,DynamicNodeProvider = "Project.Namespace.NodeProvider,Assembly")]
public ActionResult Index()
{
  return View();
}

解决方法

你能在控制器方法属性中定义它(而不是根本不使用XML)吗?

例如:

[MvcSiteMapNode(Title="Details",DynamicNodeProvider = "Project.StoreDetailsDynamicNodeProvider,Project")]
public ActionResult Index()
{
    return View();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读