猿问

如何在子文件夹 SharePoint Online C# 中创建子文件夹

我想在 C# 的文档库中创建一些文件夹。


文档库中的文件夹结构应如下所示:


"98_Projekte" --> "Muster Mandant" --> "01 测试子文件夹"


在我的 C# 代码中,我只在“98_Projekte”中创建了子文件夹“Muster Mandant”。这是正确的,但之后我想在“Muster Mandant”中创建新的子文件夹(参见第二个 foreach)。


        public static void AddFolder(ClientContext context, string[] folders)

    {

        Web web = context.Web;

        var docLibrary = web.DefaultDocumentLibrary().RootFolder;

        context.Load(docLibrary);

        context.ExecuteQuery();


        foreach (Microsoft.SharePoint.Client.Folder subFolder in docLibrary.Folders)

        {

            if (subFolder.Name == "98_Projekte")

            {

                subFolder.Folders.Add("Muster Mandant");

                context.ExecuteQuery();

                docLibrary = subFolder;

                docLibrary.Update();

            }

        }

        foreach (Microsoft.SharePoint.Client.Folder subSubFolder in docLibrary.Folders)

        {

            if (subSubFolder.Name == "Muster Mandant")

            {

                foreach (string folder in folders)

                {

                    subSubFolder.Folders.Add(folder);

                }

            }

        }

        context.ExecuteQuery();

    }

}

你有什么解决办法?


holdtom
浏览 226回答 2
2回答

梦里花落0921

我认为问题在于您的代码期望 .Folders 属性包含所有文件夹(递归),而您只是获得根文件夹的直接子级。在您的第二个循环中检查 docLibrary.Folders 属性/集合的上下文并查看返回的内容。
随时随地看视频慕课网APP
我要回答