Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文档和元数据添加到文档库而不创建两个版本_C#_Sharepoint_Sharepoint 2007_Wss - Fatal编程技术网

C# 将文档和元数据添加到文档库而不创建两个版本

C# 将文档和元数据添加到文档库而不创建两个版本,c#,sharepoint,sharepoint-2007,wss,C#,Sharepoint,Sharepoint 2007,Wss,我需要以编程方式将文件和元数据添加到文档库和事件处理程序中。我在异步“ItemAdded”和“ItemUpdate”事件中使用以下代码: SPFile destFile = web.Files.Add(newUrl, newFile, true); SPListItem destItem; if (destFile.Item != null) { destItem = destFile.Item; } else { destItem = list.Items.Add(folde

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

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(),以避免创建新版本

Add()方法有一个覆盖,它接受哈希表来随文件传递元数据。这样就不需要调用Update()或SystemUpdate()方法