在事件处理程序的 SharePoint 页面库中,我想删除页面的当前次要版本。
假设我当前的版本是 3.15,我想删除这个版本。我使用 item.File.Versions.DeleteByLabel 会引发错误。
在事件处理程序的 SharePoint 页面库中,我想删除页面的当前次要版本。
假设我当前的版本是 3.15,我想删除这个版本。我使用 item.File.Versions.DeleteByLabel 会引发错误。
在不知道具体错误的情况下,我的猜测是您需要先恢复旧版本,然后才能删除SPFileVersion.IsCurrentVersion为 true 的版本。
编辑:
您的评论证实了我的怀疑,您不能删除当前版本。当我进一步研究它时,似乎当前版本甚至可能不存在于 SPFileVersionCollection 中。您的第二条评论中的代码可能不会采取任何行动。您可以通过尝试以下方法来验证这一点:
if (null == item.File.Versions.GetVersionFromLabel("3.15")) {
// current version isn't contained in SPFileVersionCollection
}
当我更多地考虑您的问题时,您是真的要删除当前版本还是要回滚到以前的版本?如果是后者,您可以改用SPFile.UndoCheckOut吗?