Sharepoint网站页面库SPListItem和SPListItemVersion

Sharepoint网站页面库SPListItem和SPListItemVersion,sharepoint,Sharepoint,我的网站页面库已启用版本控制 当我获得SPListItemVersion时,我会收到当前的SPListitem(上次发布) 如何获取SPListItem的特定版本?您需要使用 然后检索listitem并获取版本: SPListItem Item = list.Items.Where(...); SPListItemVersionCollection VersionCol = list.Versions; 现在VersionCol包含此文档的所有版本,您可以对其进行迭代或执行任何您喜欢的操作:

我的网站页面库已启用版本控制

当我获得SPListItemVersion时,我会收到当前的SPListitem(上次发布)

如何获取SPListItem的特定版本?

您需要使用

然后检索listitem并获取版本:

SPListItem Item = list.Items.Where(...);
SPListItemVersionCollection VersionCol = list.Versions;
现在
VersionCol
包含此文档的所有版本,您可以对其进行迭代或执行任何您喜欢的操作:

foreach(var ver in VersionCol)
{
    ...
}
注释:您无法从每个默认版本中获取SPListItem,因为正如您所说的,返回类型是SPListItemVersion。但是,这类似于列表项,因为它仍然具有以下关键属性:。
在目标库中,使用创建新的SPListItem,并将版本字段与新项目字段相匹配。冲洗并重复。

谢谢,但是在VersionCol上迭代会返回一个SPListItemVersion,我要找的是一个SPListItem引用。问题是有一个启用版本控制的页面库,我必须将页面的一些旧版本复制到新位置/库。但是CopyTo方法在SPListItemVersion中不可用。这实际上不是问题,因为SPListItemVersion有一个属性
字段
。您可以遍历字段,在targetlist中创建一个新的列表项,然后使用它完成操作