У меня есть сайт с именем MySite на этом сайте. У меня есть библиотека документов с именем Resources и два дочерних сайта с именами site1 и site2.
На MySite у меня есть верхняя панель навигации со ссылками: MySite |Ресурсы |Сайт1 |Site2
Когда я пытаюсь получить навигационные узлы, я получаю только один из них, и это Ресурсы (я хочу получить site1 и site2, чтобы я мог их изменить).Как получить все узлы, независимо от того, является ли это библиотекой документов или дочерним сайтом?
Код, который я использую:
SPNavigationNodeCollection topNavBar = parentID.Navigation.TopNavigationBar;
string nodes ="";
foreach (SPNavigationNode node in topNavBar)
{
nodes += node.Url.ToString();
}
label1.Text = nodes;
Почему я получаю только узел ресурсов?
РЕДАКТИРОВАТЬ Я могу добавить правильную ссылку на родительский сайт с помощью
newWeb.ParentWeb.Navigation.TopNavigationBar.AddAsLast (new SPNavigationNode (newSiteName, newSiteName + "/pages/home.aspx").));
теперь я попаду в вики, и поскольку дочерние сайты наследуют навигацию, ссылка на них будет одинаковой.Тем не менее, с этим я получаю две ссылки на вики, одну, которая работает с приведенным выше кодом, и другую, которая не работает, поэтому я пытаюсь удалить эту аналогично тому, как я добавляю правильную.Я надеюсь, что будет более удобный способ сделать это.