可视化webpart基础开发——利用事件接收器实现同步操作两个文档库(添加、删除、修改文档)

可视化webpart基础开发——利用事件接收器实现同步操作两个文档库(添加、删除、修改文档)

分类: SharePoint2012-01-18 18:02 1189人阅读 评论(0) 收藏 举报

文档propertiesstringurl测试web

1、测试文档库(Doclib1、Doclib2):

增加一栏“测试栏1”。

2、新建“可视化web部件项目”,添加“解决方案资源管理器”里边选中项目右键“添加”-“新建项”-"事件接收器“

如图操作,选择”列表项事件“和”文档库“集相应处理事件

实现代码:

[html] view plaincopy

  1. using System;
  2. using System.Security.Permissions;
  3. using Microsoft.SharePoint;
  4. using Microsoft.SharePoint.Security;
  5. using Microsoft.SharePoint.Utilities;
  6. using Microsoft.SharePoint.Workflow;
  7. namespace TestFileReceiver.EventReceiverTest
  8. {
  9. /// <summary>
  10. /// 列表项事件
  11. /// </summary>
  12. public class EventReceiverTest : SPItemEventReceiver
  13. {
  14. /// <summary>
  15. /// 正在添加项.
  16. /// </summary>
  17. public override void ItemAdding(SPItemEventProperties properties)
  18. {
  19. base.ItemAdding(properties);
  20. }
  21. /// <summary>
  22. /// 正在更新项.
  23. /// </summary>
  24. public override void ItemUpdating(SPItemEventProperties properties)
  25. {
  26. base.ItemUpdating(properties);
  27. }
  28. /// <summary>
  29. /// 正在删除项.
  30. /// </summary>
  31. public override void ItemDeleting(SPItemEventProperties properties)
  32. {
  33. string url = properties.OpenWeb().Url;
  34. using (SPSite site = new SPSite(url))
  35. {
  36. using (SPWeb web = site.OpenWeb())
  37. {
  38. if (properties.ListTitle == "Doclib1")//判断操作的文档库是否是Doclib1
  39. {
  40. if (properties.ListItem.FileSystemObjectType == SPFileSystemObjectType.File)//判断增加的项的类型是否是文件
  41. {
  42. SPFolder tagetfolder = web.Folders["Doclib2"];
  43. SPFile file = properties.ListItem.File;
  44. string filename = properties.ListItem.Name;
  45. for (int i = 0; i < tagetfolder.Files.Count; i++)
  46. {
  47. string spfilename = tagetfolder.Files[i] == null ? "" : tagetfolder.Files[i].Name;
  48. if(filename==spfilename)
  49. {
  50. tagetfolder.Files[i].Delete();
  51. }
  52. }
  53. }
  54. }
  55. }
  56. }
  57. }
  58. /// <summary>
  59. /// 已添加项.
  60. /// </summary>
  61. public override void ItemAdded(SPItemEventProperties properties)
  62. {
  63. string url = properties.OpenWeb().Url;
  64. using(SPSite site=new SPSite (url))
  65. {
  66. using (SPWeb web = site.OpenWeb())
  67. {
  68. if (properties.ListTitle == "Doclib1")//判断操作的文档库是否是Doclib1
  69. {
  70. if (properties.ListItem.FileSystemObjectType == SPFileSystemObjectType.File)//判断增加的项的类型是否是文件
  71. {
  72. SPFolder tagetfolder = web.Folders["Doclib2"];
  73. SPFile file = properties.ListItem.File;
  74. string filename = properties.ListItem.Name;
  75. file.CopyTo(url+"/"+tagetfolder.Url+"/"+filename);
  76. }
  77. }
  78. }
  79. }
  80. }
  81. /// <summary>
  82. /// 已更新项.
  83. /// </summary>
  84. public override void ItemUpdated(SPItemEventProperties properties)
  85. {
  86. string url = properties.OpenWeb().Url;
  87. using (SPSite site = new SPSite(url))
  88. {
  89. using (SPWeb web = site.OpenWeb())
  90. {
  91. if (properties.ListTitle == "Doclib1")//判断操作的文档库是否是Doclib1
  92. {
  93. if (properties.ListItem.FileSystemObjectType == SPFileSystemObjectType.File)//判断增加的项的类型是否是文件
  94. {
  95. SPFolder tagetfolder = web.Folders["Doclib2"];
  96. SPListItem item = properties.ListItem;
  97. item.CopyTo(url + "/" + tagetfolder.Url + "/" + item.Name);
  98. }
  99. }
  100. }
  101. }
  102. }
  103. /// <summary>
  104. /// 已删除项.
  105. /// </summary>
  106. public override void ItemDeleted(SPItemEventProperties properties)
  107. {
  108. base.ItemDeleted(properties);
  109. }
  110. }
  111. }

部署测试如下

操作Doclib1文档库,上传修改文档

查看Doclib2文档库,相应文档也已上传修改

时间: 2024-11-03 22:51:07

可视化webpart基础开发——利用事件接收器实现同步操作两个文档库(添加、删除、修改文档)的相关文章

可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取)

可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 分类: SharePoint2011-12-23 14:44 1584人阅读 评论(0) 收藏 举报 文档sharepointurl测试stringforms 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 1.在部署的sharepoint网站中新建一个名为“测试文档库”的文档库,并添加各级的子文件夹和子文件,用于测试 2.在VS2010中新建空

JavaScript学习 - 基础(八) - DOM 节点 添加/删除/修改/属性值操作

html代码: <!--添加/删除/修改 --> <div id="a1"> <button id="a2" onclick="add()">add</button> </div> <div id="a3"> <button onclick="del()">del</button> </div> &l

SharePoint 2013 图文开发系列之可视化WebPart

原文:SharePoint 2013 图文开发系列之可视化WebPart 有了WebPart开发的基础,再进行可视化WebPart开发,就容易多了.创建和开发过程,两者非常相似,下面,我们简单介绍下可视化WebPart的开发. 1.添加新项目,选择SharePoint 2013空项目 ,如下图: 当然,你也可以直接选择可视化web部件,这样会在项目里自动创建一个可视化WebPart(如下图),不过我不喜欢它默认的命名方式,还要重命名或删除重建,所以我就创建空项目,而后自己添加. 2.选择部署为场

SharePoint 2013 图文开发系列之事件接收器

原文:SharePoint 2013 图文开发系列之事件接收器 在SharePoint的使用中,我们经常需要在完成一个动作之后,触发一个事件:比如,我们上传一个文档,但是没有标题,我们需要在上传完成之后,触发一个事件把文件名同步到标题,这就需要用到事件接收器. 此例,就是在SharePoint 2013文档库中,上传文档以后,将标题更新为文档名称的事件接收器. 1.添加新项目,选择SharePoint 2013空项目,如下图: 2.选择场解决方案,如下图: 3.添加新项,选择事件接收器,如下图:

ArcGIS Runtime for Android开发教程V2.0(8)基础篇-----地图事件

转自:http://blog.csdn.net/arcgis_mobile/article/details/8263283 ArcGIS Runtime sdk for Android为我们提供了丰富的事件监听器,本节将主要介绍我们经常使用的监听器,并且介绍通过这些监听器可以实现哪些功能,在下面的监听器中只有MapOnTouchListener是类,其他皆为接口类型,如图所示: 1.1 MapOnTouchListener MapOnTouchListener是MapView最为重要的监听器之一

SharePoint2010沙盒解决方案基础开发——开发webpart读取绑定列表数据,并以一定的格式显示(加css样式)

SharePoint2010沙盒解决方案基础开发——开发webpart读取绑定列表数据,并以一定的格式显示(加css样式) 分类: SharePoint2011-12-22 15:13 1974人阅读 评论(2) 收藏 举报 sharepointcss2010classbordernull SharePoint2010沙盒解决方案基础开发——开发webpart读取绑定列表数据,并以一定的格式显示(加css样式) 注:此实例无需添加数据控件,避免了一些繁琐的代码 实现效果如下: 读取数据和图片,并

SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题

SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题 分类: SharePoint2012-01-16 14:24 1295人阅读 评论(1) 收藏 举报 sharepoint2010queryurllistborder SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题 1.实现效果如下: 点击各个节点进入相应的链接 2.测试列表: 3.

基于低压电量采集平台DW710C的基础开发

实验课题 (1)自定义通信规约,采用java或C++编写简单的PC端上位机软件,实现采集器与PC机的通信.实验可在DW710C-PC工程下进行. (2)实现LCD显示字符.数字.汉字和简单的图像,并能根据上位机发送的命令做相应的显示.此实验需要掌握LCD屏幕的显示原理(可参考LCD屏幕指导手册),并编写程序控制LCD显示(可参考工程DW710C-LCD):知道如何用字模提取软件提取字模:另外还要修改采集器端接收到的命令的解析程序,实现不同命令显示不同内容. 实验说明 采集器的一个485接口与RS

SharePoint事件接收器

本篇是对SharePint事件接收器做一个简单介绍,对此有编程需要的工程师可以查看此篇. 概念 事件接收器编程,是SharePoint工程师必学的一项技术,因为他功能强大而且常用.虽然编写过程并不复杂,但还是困扰了一些人的编程思路.在此讲述这方面的知识,帮助大家解决这方面的编程基础. 说明:以下过程以SharePoint2013开发环境VS2013为IDE编程工具进行讲解.历史版本编程方式与此版本有所不同,但概念和编程思想一致. 有五种类型的事件接收器: 列表事件,SPListEventRece