2009-06-09 87 views
2

是否有程序化的方式来区分文档库中文档的添加文档和上传? (Moss 2007)上传到文档库

我想让文档上传引发ItemAdded事件,只有在填写了一些必填字段后,默认情况下,只要上传本身通过浏览到文件并单击“确定”即可完成。 ..

感谢

回答

1

您可以前后ItemAdded事件的属性后检查,但我怀疑会有一个可靠的差异。

0

这恐怕是很难做到的编程,因为

  • 当一个文档使用新的上传,只有当一个文档使用上传上传创建事件
  • ,还有一个创建文件上传时的事件以及属性更新时的更新(以及更新)。但是这些属性会使用系统更新进行更新,因此更新事件不会触发。

在文件添加后,我同意Nat的说法,不会有可靠的区别。

但是Jon Powell写了一篇文章,在以下article工作流程的帮助下,如何区分新建和上传。您可以通过在该工作流程中添加所需的逻辑来做同样的事情。

希望这有助于

亨利科

+0

我试过检查是否这是被检入的文档的第一个版本。如果我可以确定它是第一个版本,我可以使用ItemCheckedIn事件。 但是,我每次都得到以下值。 properties.ListItem.Versions.Count(always 1) properties.ListItem.Versions.VersionID(always 512) properties.ListItem.Versions.Count.VersionLabel(always always“1。0" ) ///如果我检查文件 SPFILE SF = curweb.GetFile(properties.ListItem.File.ToString()); SPFileVersionCollection vercol = sf.Versions。 这里,vercol是空的,每次 不确定如何获取该文档的版本信息。 – user96403 2009-06-15 09:34:10

0

假设主要版本是为文档库启用,

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

的follwing值可以是用于查明它是否是ItemCheckedIn事件中的第一个版本,

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

注 - 版本[0]代表当前版本。

这样可以在ItemCheckedIn事件接收器中执行ItemAdded功能。

相关问题