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

使用SharePoint 3 FrontPage扩展名移动文档时出错(&F)

  •  1
  • Chris  · 技术社区  · 15 年前

    首先,一个简单的问题-有没有人有过在SharePoint中以编程方式重命名/移动目录结构中的文件夹的经验?

    背景:

    该应用程序是一个带有SharePoint 3文档存储的ASP.NET web应用程序(C#)。应用程序在服务器上维护一个文件夹结构,文件夹的名称取决于应用程序中的数据,并且可以(实时)更改。

    当前的方法是使用FrontPage扩展来处理对SharePoint的某些请求,如下所述: http://msdn.microsoft.com/en-us/library/ms443099.aspx

    如果文件夹不存在,当前文件夹将被正确地重命名,但是如果它确实存在,它将抛出一个错误(逻辑上如此)。在这种情况下,我们希望将文件夹的内容移动到现有文件夹中。从文件来看,我认为我们的方法应该有效。。。。。。但它没有,所以我希望有一些东西可以很容易地修改。

    代码:

    const string renameOption = "findbacklinks";
    const string putOption = "overwrite,createdir,migrationsemantics";
    string method = "method=move+document%3a12.0.4518.1016&service_name=%2f&oldUrl={0}&newUrl={1}&url_list=[]&rename_option={2}&put_option={3}&docopy={4}";
    
    method = String.Format(method, oldUrl, newUrl, renameOption, putOption, bool.FalseString.ToLower());
    // then submit and handle the request
    

    我曾试图修改上述看跌期权,并认为上述“覆盖”期权会阻止我们收到的错误消息,其实质是:

    method=move document:12.0.0.6219
    status=131097
    osstatus=0
    msg=Cannot rename value to value: destination already exists.
    

    我更喜欢的方法是让上面的实现工作,而不是使用其他技术完全重写(当然,如果上面有一个基本缺陷,我知道可能需要重写)。

    从我所做的研究看来,这是一个有点困难的任务,任何方法都有复杂性吗?

    谢谢

    1 回复  |  直到 15 年前
        1
  •  1
  •   Alex Angas Colin    15 年前

    我相信 move document 方法只在同一列表中工作,不用于在位置之间移动。应该叫它 rename document

    看来HubKey公司已经开发了一个免费的beta库,如果你 read the comments to this post .