SiteMapPath不使用节点中的route属性

时间:2015-07-22 12:53:01

标签: asp.net asp.net-mvc mvcsitemapprovider sitemapprovider

我有这个xml站点地图:

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0"  xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0 MvcSiteMapSchema.xsd">
  <mvcSiteMapNode title="Home" controller="Home" action="Index" key="home">
    <mvcSiteMapNode title="Access Control" route="AccessControl_default" controller="Home" action="Index" key="access-control">
      <mvcSiteMapNode title="My dashboard" route="AccessControl_default" controller="Dashboard" action="Index" key="dashboard"/>
       <mvcSiteMapNode title="Personnel" route="AccessControl_default" clickable="false" key="personnel">
        <mvcSiteMapNode title="Groups" route="AccessControl_default" controller="Personnel" action="Groups" key="groups"/>
        <mvcSiteMapNode title="Members" route="AccessControl_default" controller="Personnel" action="People" key="people"/>
      </mvcSiteMapNode>
    </mvcSiteMapNode>
  </mvcSiteMapNode>
</mvcSiteMap>

这是区域路线配置中定义的目标路线:

context.MapRoute(
    "AccessControl_default",
    "accesscontrol/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    new[] { "UI.WebPortal.Areas.AccessControl.Controllers" }
);

然后导航菜单树显示为@Html.MvcSiteMap().SiteMap(),但使用@Html.MvcSiteMap().SiteMapPath()时面包屑无效。是因为我明确使用路由吗?什么可能是解决方案?

1 个答案:

答案 0 :(得分:1)

使用区域时,只需将'timesheet'=> 'timesheet/manage_timesheet'添加到其下的节点即可。

area="...."