C # итерация spweb.navigation.globalnodes
-
09-12-2019 - |
Вопрос
Когда я пытаюсь повторить итерацию через коллекцию Globalnodes, используя C #, всегда пустое время, если я не сможет манипулировать навигационными настройками вручную.
Может кто-нибудь сказать мне, почему это и / или даст альтернативу?
using (var site = new SPSite(url))
{
using (var web = site.OpenWeb)
{
// this is blank
var nodes = web.Navigation.GlobalNodes[0].Children;
//do things...
}
}
.
Если я тогда перейду на сайт / _layouts / settings.aspx> Просмотр и почувствование> Навигация и перемещение сайта немного в настройках навигации. Список затем появляется, когда я обновляю страницу.
Решение
Согласно API Globalnodes содержит«Узлы навигации верхнего уровня для текущего контекста», который включает в себя домой, Quicklaunch и TopnavIgintBar.Это говорит о том, что указанный вами код пуст, потому что 0-й индекс (возможно, дом) пуст.
Какие узлы навигации вы пытаетесь получить доступ?Возможно, было бы лучше использовать домашний Quicklaunch или TopnavIcity Perments of Web.Nawiging напрямую?