3

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

是否有可能做到这一点?如果是这样,有什么想法吗?

4

2 回答 2

1

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

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

于 2013-01-21T15:03:11.317 回答
0

您可以在每个文档文件夹 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
 }
于 2015-02-13T08:47:36.843 回答