我有一些代码将列表项插入列表...
然后我有了这段代码
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的情况下预测此地址?
答案 0 :(得分:3)
附件路径取决于商品ID,在您保存之前我不相信您的商品会有ID。您是否考虑过将附件存储在文档库中,并按照您尝试设置的字段进行链接?
交易操作并不完全是SharePoint的强项。