代码之家  ›  专栏  ›  技术社区  ›  JL. Hans Passant

SharePoint:更新列表项之前猜测附件路径

  •  0
  • JL. Hans Passant  · 技术社区  · 15 年前

    我有一些代码可以将列表项插入到列表中…

    我有这个密码

      SPFolder folder = web.Folders["Lists"].SubFolders[list.RootFolder.Name].SubFolders["Attachments"].SubFolders[item.ID.ToString()];
    
                    foreach (SPFile file in folder.Files)
                        {
                            string attachmentName = this.downloadedMessageID + ".xml";
                            if (file.Name == attachmentName)
                            {
                                SPFieldUrlValue value = new SPFieldUrlValue();
                                value.Description = this.downloadedMessageID + ".xml"; 
                                value.Url = this.SiteAddress + file.Url;
                                item["ZFO"] = value; 
                            }
                        }
    

    这很好,除了一个问题…在这段代码真正起作用之前…我需要调用item.update()方法将该项保存到SharePoint…

    但正如你所看到的,还有更多的工作要做…在调用item.update之后…

    所以这意味着…我有

       work
       item.update();
       more work
       item.update(); 
    

    我的问题是我真的想要

      work
      item.update(); 
    

    因此,在任何失败的情况下,整个事情都会一次失败或一次通过……(几乎像一个SQL事务)。

    所以阻止我这样做的是-我需要设置一个超链接到列表项中的一个字段,这将是到列表附件集合中的一个附件。

    我是否可以在不将列表项保存到moss的情况下预测此地址?

    1 回复  |  直到 15 年前
        1
  •  3
  •   dahlbyk    15 年前

    附件路径取决于项目ID,我相信在保存之前您的项目不会有ID。您是否考虑将附件存储在文档库中,并由您试图设置的字段链接?

    事务操作并不完全适合SharePoint。