2011-05-08 7 views
1

Je travaille avec la fondation SP2010 mais je ne pense pas que beaucoup de choses aient changé depuis WSS3.SPNavigation.Children renvoie toujours 0

Je suis en train de créer un menu personnalisé pour un projet de base c'est ce que j'ai jusqu'à présent.

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

Ainsi, la 1ère partie toplinkbar.Children fonctionne correctement mais la boucle foreach dans PrintNode node.Children retourne toujours 0 quand je sais qu'il y a des sites enfants du site.

suis-je censé être obtenir les sous-sites à l'aide SPSiteMapProvider?

Toute aide serait grand que cela me rend dingue!

Répondre

Questions connexes