Document List中的文档,如何复制/移动?
来源:广州中睿信息技术有限公司
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 2626

  使用ECMAScript对象模型,我们可以实现对DocumentList中Files的拷贝或移动。在这里,我们需要实现的的效果是当选中某个Document List中的文档时,在其关联Ribbon区出现一个按钮,点击此按钮,可以实现把这个选中的文档复制或移动到另一个Document List中。效果图如下:

  0.jpg

  这里我们在代码中指定了目标Document List的名字,而在实际操作中,你可以在点击按钮后弹出模态窗口,让用户自行选择或输入目标Document List的名字,以增强灵活性。

  一、复制功能的实现

  直接进入步骤

  1、新建一个Sharepoint空项目,命名为ECMAscriptCopyFile

  1.jpg

  2、在此项目中添加新的Feature,并命名为ECMAscriptCopyFileFeature

  2.jpg

  命名此Feature:

  2.2.jpg

  3、在此项目中添加Images与Layouts两个Sharepoint目录。

  拷贝一个文件拷贝的图片放到Images\ECMAscriptCopyFile\目录下,并命名为copyFile.png以备用。

  3.jpg

  4、添加一个新的空Element,命名为ECMAscriptCopyFileElement.并定义此元素的代码

  4.jpg

    

  在此元素中:

  •   我们设置了按钮的放置位置在Ribbon.Documents.Manage.Controls  

  •   设置了引用外部Javascript文件ECMAcopyFile.js

  •   设置了按钮的Action是调用Javascript文件中的CopyDocumentListFile()函数  

  •   要注意<CommandUIDefinition>中的Button的Command属性必须与<CommandUIHandlers>中的Command属性命名一致,表示对应的命令设置,响应对应的Button事件。  

  

  5、在Layouts的ECMAscriptCopyFile目录下新建一个名为ECMAcopyFile.js的Javascript文件。文件内容如下

  

  完成后,整个项目如下图:

  5.jpg

  6、Build并部署这个项目,然后到测试网站上查看效果如下:

  6.jpg