SPFileVersionCollection和SPListItemVersionCollection版本控制似乎与我不一致。不一致对我来说不是问题,但排序顺序是。
我可以理解ListItems的版本控制,因为它们按降序存储:
SPContext.Current.ListItem.Versions.Count -> 5
SPContext.Current.ListItem.Versions[0].VersionId -> 1026 (2.2 latest version)
SPContext.Current.ListItem.Versions[1].VersionId -> 1025 (2.1)
SPContext.Current.ListItem.Versions[2].VersionId -> 1024 (2.0)
... [4].VersionId -> (oldest version)
但是我无法理解如何为文档库项目保存版本号:
SPContext.Current.ListItem.File.Versions.Count -> 4
SPContext.Current.ListItem.File.Versions[0].ID -> 512 (1.0 oldest one)
SPContext.Current.ListItem.File.Versions[1].ID -> 513 (1.1)
SPContext.Current.ListItem.File.Versions[2].ID -> 1025 (2.1 latest version)
SPContext.Current.ListItem.File.Versions[3].ID -> 1024 (2.0 (EDIT: IsCurrentVersion = True))
它们既不是升序,也不是降序,而是混合的东西。
是否有任何理由让SharePoint团队决定存储这样的SPFile版本?他们是否希望我自己编写方法来获取最新版本,或者是否有内置版本?
注意:我要指出文档库项目的SPListItem.File不为空。
答案 0 :(得分:6)
以为我会在控制台应用程序中输出一些关于SPFileVersionCollection的信息,结果是:
啊,我错误地认为最后一个文件草稿版本应该算作最新版本。当然,最后一个PUBLISHED版本是最新的版本!
但是,要注意不一致。