2011-05-08 54 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獲取子網站?

任何幫助將是偉大的,因爲這是讓我瘋狂!

回答