Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 上载到文档库_Sharepoint_Events - Fatal编程技术网

Sharepoint 上载到文档库

Sharepoint 上载到文档库,sharepoint,events,Sharepoint,Events,是否有一种编程方式来区分添加新文档和上载文档库中的文档?(Moss 2007) 我想让文档上传仅在某些必填字段填写后引发ItemAdded事件,默认情况下,通过浏览文件并单击“确定”,上传完成后立即引发该事件 谢谢您可能能够检查ItemAdded事件的前后属性,但我怀疑是否存在可靠的差异。我担心这很难通过编程实现,因为 使用“新建”上载文档时,只有一个创建事件 使用“上载”上载文档时,上载文件时会发生“创建”事件,更新属性时(如果)会发生更新。但是属性会随系统更新而更新,因此不会触发更新事件

是否有一种编程方式来区分添加新文档和上载文档库中的文档?(Moss 2007)

我想让文档上传仅在某些必填字段填写后引发ItemAdded事件,默认情况下,通过浏览文件并单击“确定”,上传完成后立即引发该事件


谢谢

您可能能够检查ItemAdded事件的前后属性,但我怀疑是否存在可靠的差异。

我担心这很难通过编程实现,因为

  • 使用“新建”上载文档时,只有一个创建事件
  • 使用“上载”上载文档时,上载文件时会发生“创建”事件,更新属性时(如果)会发生更新。但是属性会随系统更新而更新,因此不会触发更新事件
添加文档后,我同意Nat的观点,即不会有可靠的差异

但是Jon Powell在下面的文章中写了一篇文章,介绍了如何在工作流的帮助下区分新建和上载。您也可以通过在该工作流中添加所需的逻辑来实现这一点

希望这有帮助


Henrico

假设已为文档库启用主要版本控制

文档库设置>版本控制设置>主要版本控制

以下值可用于确定它是否是ItemCheckedIn事件中的第一个版本

properties.ListItem.Versions[0]。VersionID (512是第一个的值 (版本) properties.ListItem.Versions[0]。VersionLabel (“1.0”是第一个的值 (版本)

注意Verions[0]代表当前版本。


通过这种方式,可以在event receiver中的ItemCheckedIn中执行ItemAdded功能。

我尝试检查的是,这是正在签入的文档的第一个版本。如果我能确保它是第一个版本,我可以使用ItemCheckedIn事件。但是,我每次都会得到以下值。properties.ListItem.Versions.Count(始终为1)properties.ListItem.Versions.VersionID(始终为512)properties.ListItem.Versions.Count.VersionLabel(始终为“1.0”)///如果我检查文件SPFile sf=curweb.GetFile(properties.ListItem.file.ToString());SPFileVersionCollection vercol=sf.Versions;这里,vercol每次都是空的。不确定如何获取该文档的版本信息。