Asp.net mvc 4 使用SiteMapPath时出现的问题

Asp.net mvc 4 使用SiteMapPath时出现的问题,asp.net-mvc-4,sitemap,asp.net-mvc-sitemap,Asp.net Mvc 4,Sitemap,Asp.net Mvc Sitemap,在我的网站上,我有以下结构: 产品类型 产品类别 产品 假设我有一个具有以下特征的产品: 乘积XYZ -类型链接:“键入xyz” -类别链接:“类别xyz” -链接:“产品xyz” 该url将用于产品:/produto/type xyz/product xyz#category xyz 请注意,该类别只不过是Url中的一个哈希 路线 遵循路线的定义 注意:线路运行正常!我列出这些只是为了更好的理解 网站地图 使用以下命令显示站点地图: 剃须刀 @Html.MvcSiteMap()

在我的网站上,我有以下结构:

  • 产品类型
    • 产品类别
      • 产品
假设我有一个具有以下特征的产品:

乘积XYZ -类型链接:“键入xyz” -类别链接:“类别xyz” -链接:“产品xyz”

该url将用于产品:/produto/type xyz/product xyz#category xyz

请注意,该类别只不过是Url中的一个哈希

路线 遵循路线的定义

注意:线路运行正常!我列出这些只是为了更好的理解

网站地图 使用以下命令显示站点地图:

剃须刀
@Html.MvcSiteMap().SiteMapPath()

动态 产品类型

产品类别

产品

Mvc.sitemap

如果您需要站点地图的完整代码:

Web.config

问题 我的问题是网站地图没有正确显示标题和链接! 此网站发布在此链接中。 例如,您可以打开产品页面“网站da Datafilme”

正如你所看到的,链接是正确的! 但是站点地图显示来自其他产品的数据

产品类型(
ProdutoTipoDynamicNodeProvider
)需要在创建的动态节点上设置密钥属性

产品类别(
produtocategorizadynamicnodeprovider
)也需要设置key属性,但parentKey属性也必须设置为产品类型节点的key

产品(
produtodynamicondeprovider
)必须将parentKey属性设置为类别节点的键,但不需要设置键,因为在没有子节点的情况下,动态生成的键是正常的

在您的站点上,具有键和父键的层次结构可以是(productos节点下方):


即使进行了这些更改,使用站点地图仍然存在问题。Sitemap:>动态节点:,,我在链接中发布了这些更改:“”注意,在底部添加了一个链接,注意链接是错误的!当我访问该页面时,站点地图路径看起来是正确的,站点地图页面上的所有链接看起来也是正确的。您是否启用了缓存,或者我找不到错误?@Riderman,当我访问该页面时,站点地图路径看起来是正确的,并且站点地图页面上的所有链接看起来也是正确的。您是否启用了缓存,或者我找不到错误?缓存已禁用!我又做了一些测试,结果成功了。非常感谢。
Scanner de documento                 (key = "scanner")
  Conexões de Rede                   (key = "conexoes", parentKey = "scanners")
    Authoritatively-Disintermediate  (parentKey = "conexoes")
    Super-scanner                    (parentKey = "conexoes")
    Scanner XYZ                      (parentKey = "conexoes")
Equipamentos de microfilmagem        (key = "microfilmagem")
Software                             (key = "software")
  Digitalizacao                      (key = "digitalizacao", parentKey = "software")
    Website da Datafilme             (parentKey = "digitalizacao")