1

SharePointFoundation2010をWebサイトのファイルストアとして使用しようとしています。すべてのドキュメントの更新は承認サイクルを経て、最終的に承認されたステータスになり、エンドユーザーのWebサイトに表示される必要があります。以前のバージョンが承認されていても、SharePointでドキュメントが更新されると、ステータスは「ドラフト」にリセットされます。これは意図された動作です。

File.Versionsは、バージョンのリストを表示します。

最後に「承認」されたバージョンを取得するにはどうすればよいですか?

4

1 に答える 1

1

ListItemのバージョンをループして、公開されている最新のものを見つける必要があります。SPListItemVersionCollectionを使用してバージョンをループし、SPFileLevelを確認します

SPListItemVersionCollectionに関するMSDN記事に対するSebastianWojciechowskiのコミュニティ追加によると

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];
    }
}
于 2012-04-24T17:26:58.547 に答える