Sharepoint SPNavigation.Children始终返回0
我在SP2010基金会工作,但我认为自WSS3以来没有什么变化 我正在尝试为一个基础项目创建一个自定义菜单,这是我到目前为止所拥有的Sharepoint SPNavigation.Children始终返回0,sharepoint,sharepoint-2010,wss,Sharepoint,Sharepoint 2010,Wss,我在SP2010基金会工作,但我认为自WSS3以来没有什么变化 我正在尝试为一个基础项目创建一个自定义菜单,这是我到目前为止所拥有的 static void Main(string[] args) { using (SPSite site = new SPSite("http://localhost:3002/")) { SPNavigation nav =site.RootWeb.Navigation;
static void Main(string[] args)
{
using (SPSite site = new SPSite("http://localhost:3002/"))
{
SPNavigation nav =site.RootWeb.Navigation;
//gets the correct order of top level menu items
SPNavigationNodeCollection nodes = nav.TopNavigationBar;
using (SPWeb web = site.OpenWeb())
{
SPNavigationNode toplinkbar = web.Navigation.GetNodeById(1002);
if (toplinkbar != null)
{
foreach (SPNavigationNode node in toplinkbar.Children)
PrintNode(node);
}
}
}
Console.Write("\nPress ENTER to continue....");
Console.ReadLine();
}
static void PrintNode(SPNavigationNode node)
{
Console.WriteLine(node.Title);
foreach (SPNavigationNode item in node.Children)
PrintNode(item);
}
因此,第一部分toplinkbar.Children工作正常,但是PrintNode节点中的foreach循环。当我知道站点中有子站点时,Children总是返回0
我是否打算使用SPSiteMapProvider获取子网站
任何帮助都将是伟大的,因为这让我发疯 只需使用附加到TopNavigation的NavigationNodeCollection。这是TopNav信息的渠道来源。
当您以这种方式加载“根”节点时,它将以断开连接的方式加载。
我有一篇旧的博客文章可能会有所帮助