【问题标题】:SharePoint 2007: How to check if a folder exists in a list using web services?SharePoint 2007:如何使用 Web 服务检查列表中是否存在文件夹?
【发布时间】:2010-01-19 20:38:03
【问题描述】:

使用 SharePoint 2007 网络服务甚至 Webdav,我如何检查 SharePoint 的列表(不是文档库)中是否存在文件夹。

我还想检查子文件夹...

有人知道这是怎么做到的吗?我问过微软,他们的官方立场是微软没有提供这方面的文档。所以任何帮助都将受到欢迎......

提前谢谢...

我有这个创建文件夹的代码,但不确定如何修改它以检查文件夹是否存在,甚至不确定这是否适用于子文件夹...

private void CreateFolderUsingWebService(string listName, string folderName)
        {

            //Check Databox Folder Exists
            //string folderAddress = siteAddress + @"/lists/" + listAddress + @"/" + folderName;
            //wsDws.CreateFolder(folderAddress); 
            var doc = new XmlDocument();
            XmlElement batch = doc.CreateElement("Batch");
            string item = "<Method ID=\"1\" Cmd=\"New\">" +
                "<Field Name=\"ID\">New</Field>" +
                "<Field Name=\"FSObjType\">1</Field>" +
                "<Field Name=\"BaseName\">" + folderName + "</Field></Method>";

            batch.SetAttribute("ListVersion", "1");
            //batch.SetAttribute("ViewName", "{GUID of View, including braces}");
            batch.InnerXml = item;

            wsLists.UpdateListItems(listName, batch);
        }

【问题讨论】:

  • 看我在这篇帖子Sharepoint 2007, how to check if a folder exists in a document library上的回答,这很相似。
  • +1 是的,这是一个很好的答案,它对文档库帮助很大,但不幸的是它不适用于列表,因为响应似乎重定向到基本列表,并且没有t 使用文档库生成 404。非常遗憾它不适用于列表...
  • 哦,抱歉,我没注意到又是你的问题 ;-)

标签: sharepoint


【解决方案1】:

好的 - 此信息可能会对下一位 SharePoint 开发人员有所帮助:

上面的函数可以工作,甚至会创建一个目录结构。但是您需要传递列表名称,而不是列表 URL,这意味着如果您本地化您的代码,您需要将本地化的列表名称传递给函数。

我没有费心添加对 ifExists 的检查,因为如果目录已经存在,它似乎不会创建重复项或失败。我知道这不是一个很好的解决方案,但我只是没有 2-3 周的时间来研究如何正确地做到这一点,所以如果您有任何建议,欢迎 cmets。

最后,任何阅读此内容的 Microsoft 代表 - 可能想考虑一下为什么没有任何关于这方面的真正好的文档以及如何从 MS 获得?嗯嗯

我下载了 MOSS Web 服务 SDK,它包含 1 个非常模糊的示例,说明如何在 Lists Web 服务中使用 1 个功能,对于我们这些试图组合强大解决方案的人来说,这些信息根本不够在苔藓中。我们需要更多的文档...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多