MvcSiteMapProvider页面内的子菜单

时间:2012-07-31 17:43:01

标签: asp.net-mvc-3 mvcsitemapprovider

我有一个使用MvcSiteMapProvider进行主导航的网站。我遇到了一个我无法弄清楚的情景。

我的网站有以下导航:

navigation screenshot

站点地图如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0" enableLocalization="true">
<mvcSiteMapNode title="Look Up" controller="Lookup" action="Index">
    <mvcSiteMapNode title="PackingList" controller="PackingList" action="Index"> 
        <mvcSiteMapNode title="Configuration" controller="Configuration" action="Printers">
            <mvcSiteMapNode title="Printers" controller="Configuration" action="Printers" />
            <mvcSiteMapNode title="Quick List" controller="Configuration" action="QuickList" />
        </mvcSiteMapNode>
    </mvcSiteMapNode>
</mvcSiteMap>

我无法弄清楚如何正确利用站点地图进行侧标签导航。我还需要保持选择配置选项卡以及活动侧选项卡。

1 个答案:

答案 0 :(得分:2)

当两个节点具有相同的控制器和操作名称时,SiteMapProvider无法确定哪个节点处于活动状态,并且它始终选择第一个匹配节点,在本例中为“配置”。

选择两个节点的唯一方法是:

  1. 使用打印机菜单的其他操作
  2. 更改了显示模板,以使用CSS类或类似的方式指示当前路径中的节点