我有一些代码,我试图使用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。
任何人都可以提供任何见解吗?
答案 0 :(得分:1)
版本页面为文件和项目版本的每个相关组合生成版本条目。当SPFile.Versions
为1时,这表示该文件除当前版本外还有一个版本。 SPListItem.Versions
包含文件的所有版本,包括当前版本(索引0)。
调用SPFile.Versions.Restore(iIndex)
时,将恢复该文件以及适用于此文件的关联SPListItem
版本
答案 1 :(得分:0)
您的'SPListItem'将具有File属性,类型为SPFile。这也有.Versions属性..你可能必须使用它或两者。