从docset访问文档

时间:2013-01-11 15:35:43

标签: c# sharepoint-2010

以下是背景资料:

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

问题:除了安全性,是否有可能,如果是这样,如何访问docset中的文档?即从docset作为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
}}}

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

1 个答案:

答案 0 :(得分:1)

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

SPFileCollection docsinproject = properties.ListItem.Folder.Files;
foreach (SPFile doc in docsinproj) { .... }