Подсчет уровня ребенка Умбрако

Можно ли вернуть общее количество уровней узлов под данной страницей в представлении? Возможен цикл через дочерние узлы (например, частичные потомки), но возможно ли получить общие дочерние уровни?

Получить первый уровень просто:

var naviLevel = CurrentPage.Children.Where("Visible").First().Level;

Можно ли подсчитать все уровни без использования @foreach для оставшихся дочерних страниц?


person tegdude    schedule 15.05.2014    source источник


Ответы (1)


Пожалуйста, попробуйте это ......

@{

   var list = new List<int>();
   var currentPage = Model;

    foreach (var child in currentPage.Descendants())
    {
        int level = Convert.ToInt32(child.Level);
        list.Add(level);
    }

    var levelCount = list.Distinct().Max();    

    <h2>@levelCount</h2>

 }
person SAIndia    schedule 17.05.2014
comment
Спасибо. Это работает, но я надеялся, что будет .Level.Count() или что-то короткое. В итоге я просто добавил свойство bool к типам документов на уровне узла, который пытался найти. - person tegdude; 19.06.2014