1

这是背景:

有一个包含文档的文档集。这些文件具有独特的证券。当我更改文档集的某个属性时,在事件处理程序中我希望文档相应地更新其安全性。(很可能通过启动另一个更改文档安全性的事件处理程序,或直接调用更新安全性的函数。)

问题:抛开安全性不谈,是否可以访问文档集中的文档,如果可以,如何访问?即从文档集中作为SPItemEventProperties。

示例:我希望它看起来像......

public override void ItemUpdated(SPItemEventProperties properties)
{
  //... other stuff
  string oldDiv = Convert.ToString(properties.BeforeProperties["Division"]);
  string newDiv = Convert.ToString(properties.AfterProperties["Division"]);
  if (oldDiv != newDiv)
  {
    try
      {
        // update each document (that has security "My Division Team")
        foreach (documentx in properties.listitem.????) {
          if (documentx.securitylevel == "my division team") {
            updatesecurity(documentx); // this is my own custom function
}}}

如果问题没有意义,请纠正我。

4

1 回答 1

1

有可能的。正如史蒂夫 B 指出的那样,它需要将文档集视为一个文件夹。在这种情况下,神奇的代码行是:

SPFileCollection docsinproject = properties.ListItem.Folder.Files;
foreach (SPFile doc in docsinproj) { .... }
于 2013-01-17T14:05:00.173 回答