我正面临一个问题--在SPFile.Delete()中删除我所有版本的文件,甚至从回收站中删除。我不希望删除回收站中的文件版本。
例如:我已经创建了同一文件xyz.xls的4个版本。现在我从UI中删除该文件的第二个版本。这会将我的第二个版本发送到回收站。现在我需要的是,当我调用SPFile.Delete()时,它应该删除该文件的其他4个版本,而不是回收站中的那个。目前它也在删除回收站中的版本。
我必须实现的是,在回收站中存在的文件版本不应该被删除。当我调用SPFile.Delete()时,只有库中存在的版本应该被删除。
在某些地方提到的使用.Recycle()的解决方案只会将所有版本移到回收站。但我需要的是,库中存在的文件版本应该永久删除,而回收站中存在的文件版本不应该被删除。
发布于 2014-06-06 04:47:20
您可以遍历文件的版本,并逐个删除它们。它可能会慢一些,但我想它会达到你想要的效果。
foreach(SPFileVersion version in file.Versions)
{
version.Delete()
}这样,您将只删除当前在文件中而不在回收站中的版本。
https://stackoverflow.com/questions/23929154
复制相似问题