2009-04-20 73 views
2

使用下面的代碼:如何確定文件夾是否嵌套在SharePoint列表中

using (SPSite site = new SPSite("http://localhost/")) 
{ 
    using (SPWeb web = site.OpenWeb()) 
    { 
     foreach (SPList list in web.Lists) 
     { 
      if (list.OnQuickLaunch) 
      { 
       Console.WriteLine(list.Title); 

       foreach (SPListItem item in list.Folders) 
       { 
        Console.WriteLine("- " + item.Title); 
       } 
      } 
     } 
    } 
} 

和輸出:

... various lists ... 
Shared Documents 
- Minutes 
- Second Level 

我得到的所有的文件夾回爲一個平面列表 - 無作爲一個文件夾可能發生的嵌套的真實指示被創建爲另一個文件夾的子節點。與Visual Studio一起探索我可以看到一些有趣的屬性,可能會給我一些線索(如item.Url和counting/characters或item.Folder.ParentFolder與某些東西進行比較?),但是必須有一個更簡單的方法。

謝謝!

回答

3

您可以遍歷任何列表的根文件夾(即list.RootFolder)的文件夾層次結構。擁有根SPFolder對象後,可以使用每個SPFolder對象上的SubFolders屬性遞歸遍歷層次結構。

相關問題