我正在尝试使用sharepoint foundation 2010作为网站的文件存储。每个文档更新都必须经过一个审批周期,并最终达到批准状态,才能显示在网站上供最终用户使用。在sharepoint中更新文档时,即使以前的版本已批准,状态也会重置为"草稿"。这是预期行为。
文件。版本给了我版本列表。
如何获得上次"批准"的版本?
您需要循环浏览ListItem的各个版本,并找到已发布的最新版本。使用SPListItemVersionCollection循环浏览版本并检查SPFileLevel
根据Sebastian Wojciechowski在SPListItemVersionCollection 上为MSDN文章添加的社区内容
SPListItem.Versions[0] //this is current version of the item
SPListItem.Versions[1] //this is previous version of the item
SPListItem.Versions[SPListItem.Versions.Count - 1] //this is first version of the item
版本按相反的顺序索引(从最新到最旧),因此您的代码将类似于:
// Retrieve all versions
SPListItemVersionCollection itemVersions = item.Versions;
for (int i = 0; i < itemVersions.Count - 1; i++)
{
// Check if version is published
if (itemVersions[i].Level == SPFileLevel.Published)
{
return itemVersions[i];
}
}