Как отобразить корневые подузлы в 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
,