2

在 SharePoint 中,当第一次将项目添加到文档库时,它会按预期触发 ItemAdded 和 ItemAdding 事件。如果您上传相同的文件名来更新现有文件,它将触发 ItemUpdated 和 ItemUpdating 事件,正如预期的那样。但是,我无法确定这种行为是否真的发生过。或者,更具体地说,我完全无法区分以下内容:

  • 由于有人上传了一个新文件,但对任何表单字段都没有做任何事情,因此更新了一个项目。
  • 一个项目被更新是因为有人点击了“确定”但没有对任何表单字段做任何事情。

实际上有没有办法区分这些类型的更新?事件属性中似乎没有包含此信息的内容,列表项和文件本身的版本历史记录中也没有。我什至尝试通过 OpenBinary() 比较文件本身,但在上述两种情况下,我仍然得到相同的结果。预先感谢您的任何帮助!

4

1 回答 1

2

两年多前,我遇到了同样的问题。我实现它的方式是查看事件类型的 before 和 after 属性中的所有字段,并且一些更晦涩的字段根据事件的类型而有所不同。

不幸的是,我无法再访问该代码,所以我无法给您该字段的名称。只需转储所有之前和之后的属性并使用它。

痛苦,你会认为会有更简单的方法。我曾希望在第一次上传之前的属性为空或空,但没有这样的运气。

于 2010-04-12T18:46:43.827 回答