我需要以编程方式将文件和元数据添加到文档库和事件处理程序中。我在异步“ItemAdded”和“ItemUpdated”事件中使用以下代码:

SPFile destFile = web.Files.Add(newUrl, newFile, true);

SPListItem destItem;
if (destFile.Item != null)
{
    destItem = destFile.Item;
}
else
{
    destItem = list.Items.Add(folderUrl, SPFileSystemObjectType.File);
}

foreach (DictionaryEntry property in properties)
{
    destItem.Properties[property.Key.ToString()] = property.Value;
}

destItem.Update();

但是,每次添加文件时,都会创建两个版本,一个是在调用 Files.Add 方法时,另一个是在调用 SPListItem.Update 方法时。有没有另一种方法来做到这一点,只创建一个版本?

提前致谢!

最佳答案

使用

destItem.SystemUpdate( false );
而不是 .Update() 以避免创建新版本。

关于c# - 将文档和元数据添加到文档库而无需创建 2 个版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1826355/

10-13 06:13