【问题标题】:is it possible to call an event receiver from an event receiver with different properties?是否可以从具有不同属性的事件接收器调用事件接收器?
【发布时间】:2013-01-01 07:10:10
【问题描述】:

我有一个事件接收器,它在更新文件夹(文档集)上的元数据时运行。在同一个事件接收器中,我想为文件夹中的每个文档启动一个事件接收器。我想知道的是:是否可以使用与给定不同的 SPitemEventProperties 调用事件接收器。

例如

public override void ItemUpdated (SPItemEventProperties properties) {
// when properties is/contains a folder:
// on each document in the folder
// run ItemUpdated where properties is a/contains a document
}

可以这样做吗?如果有,有什么想法吗?

【问题讨论】:

    标签: sharepoint-2010 event-receiver eventreceiver


    【解决方案1】:

    简短的回答:不。可能有一种非常老套的方法,但没有明显的解决方案。

    对于我的特殊情况,设置环境更容易,因此文档会继承不断变化的元数据,因此当此列更改时会触发事件接收器。 希望它在未来对其他人有所帮助,或者如果没有其他人阅读此内容,请作为我自己的记录。

    【讨论】:

      【解决方案2】:

      您可以在每个文档文件夹 ItemUpdatedER 上调用 SPListItem.Update()。这个运行文档EventReceiver。

      public override void ItemUpdated (SPItemEventProperties properties) {
          query all sub items/documents
          on each document change your data:
          item["customField"] = "update value";
          item.Update() //call recursively ItemUpdating/ItemUpdate
       }
      

      【讨论】:

        猜你喜欢
        • 2011-07-01
        • 2023-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-12
        • 1970-01-01
        • 2011-09-04
        相关资源
        最近更新 更多