2014-09-28 2 views
0

Мне нужно выяснить, на каком уровне меню находится моя текущая страница.Как получить уровень/глубину текущего узла MvcSiteMap?

У меня есть доступ к текущему объекту узла с использованием синтаксиса бритвы в моей HTML странице:

@Html.MvcSiteMap().SiteMap.CurrentNode 

Есть ли свойство/метод, который может показать текущую глубину узлов/уровень в карте сайта или мне нужно написать что-нибудь, чтобы пересечь карту сайта xml?

+0

Затраченное еще некоторое время, прибегая к помощи этому вопросу, и это привело меня к моему собственному вопросу ... –

ответ

1

Вы должны использовать SiteMapPath(), чтобы получить меню - строку навигации

@Html.MvcSiteMap().SiteMapPath() 

выход будет показан как это -

enter image description here

Код взят из here.

EDIT -

Вы можете попробовать, как это в View -

var depthCount = Html.MvcSiteMap().SiteMap.CurrentNode; 
@depthCount.Ancestors.Count + 1 // will give you depth count 
+0

Это дает мне что-то, чтобы работать с. Однако есть ли способ получить значение, представляющее текущий уровень узла? Например, «Новости спорта» находится на уровне 3 карты сайта. –

+0

@Justinvw, можете ли вы попробовать мое редактирование. – ramiramilu

Смежные вопросы