SharePoint文档库版本还原不符合预期

时间:2010-01-19 21:05:28

标签: sharepoint

我有一些代码,我试图使用ootb版本控制和SharePoint API将一个sharepoint文档及其元数据属性“回滚”到以前的版本。以下是我的代码示例:

int versionCount = item.Versions.Count;
if (versionCount > 0)
{
 // this only restores properties
 item.Versions.Restore(1);
}

使用1(当前版本之前的最新版本)调用恢复的预期结果是恢复文件和元数据。相反,只恢复元数据并将当前文件复制到新的“已恢复”版本。

版本页面清楚地显示多个版本,并通过UI恢复恢复所需的文件。

此外,我尝试仅使用item.File.Versions查找item.File.Versions.Count为1。

任何人都可以提供任何见解吗?

2 个答案:

答案 0 :(得分:1)

版本页面为文件和项目版本的每个相关组合生成版本条目。当SPFile.Versions为1时,这表示该文件除当前版本外还有一个版本。 SPListItem.Versions包含文件的所有版本,包括当前版本(索引0)。

调用SPFile.Versions.Restore(iIndex)时,将恢复该文件以及适用于此文件的关联SPListItem版本

答案 1 :(得分:0)

您的'SPListItem'将具有File属性,类型为SPFile。这也有.Versions属性..你可能必须使用它或两者。