2011-05-08 75 views
1

我正在与SP2010基金会合作,但自WSS3以来我不认为发生了太多变化。SPNavigation.Children始终返回0

我想创建一个基础项目的自定义菜单,这是我迄今为止。

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); 
    } 

所以第1部分toplinkbar.Children工作正常但是在PrintNode node.Children foreach循环总是返回0,当我知道该网站内有子站点。

我是否打算使用SPSiteMapProvider获取子网站?

任何帮助将是伟大的,因为这是让我疯狂!

回答