如何将SharePoint文件更新与文件上载区分开来?

时间:2010-04-12 17:48:56

标签: sharepoint sharepoint-2007 event-handling document-library

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

  • 项目已更新,因为有人上传了新文件但未对任何表单字段执行任何操作。
  • 项目已更新,因为某人点击了“确定”但未对任何表单字段执行任何操作。

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

1 个答案:

答案 0 :(得分:2)

我在两年多前就遇到了同样的问题。我实现它的方法是查看两种事件类型的前后属性中的所有字段,并且根据事件的类型,一些更模糊的字段会有所不同。

不幸的是,我无法访问该代码,因此我无法提供该字段的名称。只需转储所有前后属性并使用它。

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