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

时间:2009-04-20 23:59:37

标签: c# 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和count / characters或item.Folder.ParentFolder与某些东西相比?),但必须有一个更简单的方法。 / p>

谢谢!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

您可以查看以下问题以获取答案。 虽然这不是同一个问题,但潜在的问题是相似的。

Should I create my own object model