代码改变世界

SPListItem.UpdateOverwriteVersion()真的不会创建新版本吗?

2017-03-24 11:22  四毛的家  阅读(328)  评论(0编辑  收藏  举报

根据msdn文档

SPListItem.UpdateOverwriteVersion(): Updates the item without creating another version of the item.

意思是此方法更新列表项,但不会产生一个新版本号。这里的版本号,msdn并未说明是主版本还是次版本。

一般理解应该是都不产生。

新建一个文档库,启用版本控制

然后编程更新文档库中的列表项,执行代码如下:

var targetItem= 目标列表项

targetItem["Author"] = aUser;

targetItem["Created"] = created.Value;

targetItem["Editor"] = eUser;

targetItem["Modified"] = modified.Value;

targetItem.UpdateOverwriteVersion();

如果更新之前,目标文件处于草稿状态(未发布为主要版本),那么上面代码不会对版本号产生影响。比如原来是1.1,更新后还是1.1

如果更新之前,目标文件已经发布为主要版本,那么上面代码就会自动生成一个次版本号。比如原来是3.0,更新后变为3.1