Как отобразить корневые подузлы в MvcSiteMapProvider

Есть ли способы отображения корневых подузлов в MvcSiteMapProvider, чтобы мое меню выглядело так:

| Главная | | О | | Etc |

| Элемент1 |

| Элемент2|

Я хочу, чтобы Item1 и Item2 выглядели как индексные (домашние) подэлементы.

Вот моя карта сайта:

<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| | О | | Etc | вместо.

1 ответ

Решение

Взгляните на это: https://github.com/maartenba/MvcSiteMapProvider/issues/160 посмотреть, как там объявлена ​​карта сайта. В вашем случае вы идете так:

<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)

Поскольку по умолчанию "показывать начальный узел" установлен на true,

Другие вопросы по тегам