如何在MvcSiteMapProvider中显示根子节点

时间:2013-07-23 22:04:48

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

我有什么方法可以在MvcSiteMapProvider中显示根子节点 所以我可以让我的菜单看起来像这样:

|首页| |关于我们| | ETC |

|的Item1 |

|项目2 |

我希望 Item1 Item2 会像index(home)子元素一样出现。

这是我的站点地图:

<mvcSiteMapNode title="Home" controller="Home" action="Index">
    <mvcSiteMapNode title="Item1" controller="Item1" action="Index"/> /**should desplayed like submenu element of Home
    <mvcSiteMapNode title="Item2" controller="Item2" action="Index"/> /**should desplayed like submenu element of Home

    <mvcSiteMapNode title="About" controller="About" action="Index"/>
    <mvcSiteMapNode title="Etc" controller="Etc" action="Index"/>
<mvcSiteMapNode />

但在我的情况下,我有

|首页| |项目1 | |项目2 | |关于我们| |等等|

1 个答案:

答案 0 :(得分:2)

看一下这个:https://github.com/maartenba/MvcSiteMapProvider/issues/160 看看sitemap如何在那里宣布。在你的情况下,你会这样:

<mvcSiteMapNode title="Root" clickable="false" changeFrequency="Always">

    <mvcSiteMapNode title="Home" controller="Home" action="Index">
        <mvcSiteMapNode title="Item1" controller="Item1" action="Index"/>
        <mvcSiteMapNode title="Item2" controller="Item2" action="Index"/>
    <mvcSiteMapNode/>

    <mvcSiteMapNode title="About" controller="About" action="Index"/>
    <mvcSiteMapNode title="Etc" controller="Etc" action="Index"/>
<mvcSiteMapNode />

你也需要建立你的菜单:

 @Html.MvcSiteMap().Menu(false)

因为默认情况下“show starting node”设置为true