我将SharePoint CSOM与C#桌面应用程序一起使用,并试图将文件签入到启用了“需要签出”设置的文档库中。我希望修改后的时间戳保持不变(不更新)。
签到后,我用原始时间戳更新列表项。当“要求签出”被禁用时,此方法有效,但是当它启用时,出现一个异常,指出必须首先签出文件。我曾尝试在签入之前更新列表项,但签入时会被覆盖。
有什么办法吗?
答案 0 :(得分:0)
lstItem.Update()
lstItem.SystemUpdate()
您可以使用update更新文件和修改日期。 系统更新将更新文件,而不会更改修改日期。
答案 1 :(得分:0)
使用SystemUpdate更新数据后,在重新签入SPFile
时是否尝试过OverwriteCheckin?
listItem.SystemUpdate();
file.CheckIn("comment", CheckinType.OverwriteCheckIn);
编辑:明确说明您不使用草稿后,建议您使用SPFile.UndoCheckOut()
以编程方式放弃结帐。否则,您天生就在不修改内容而不将内容标记为已修改的情况下违反了SharePoint的设计。