代码之家  ›  专栏  ›  技术社区  ›  Goyuix

如何确定文件夹是否嵌套在SharePoint列表中

  •  2
  • Goyuix  · 技术社区  · 15 年前

    使用以下代码:

    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与其他东西相比?),但必须有一种更简单的方法。

    谢谢

    2 回复  |  直到 15 年前
        1
  •  3
  •   Lars Fastrup    15 年前

    您可以从任何列表的根文件夹(即list.RootFolder)遍历文件夹层次结构。拥有根SPFolder对象后,可以开始使用每个SPFolder对象上的SubFolders属性递归遍历层次结构。

        2
  •  1
  •   Community CDub    7 年前

    您可能想查看以下问题的答案。

    Should I create my own object model .