我需要使用web.ProcessBatchData更新SPListItem而不创建新版本。
我试过使用这个xml:
<?xml version="1.0" encoding="UTF-8"?>
<ows:Batch OnError="Continue">
<Method ID="1">
<SetList>{some-guid}</SetList>
<SetVar Name="Cmd">Save</SetVar>
<SetVar Name="ID">{list-item-id}</SetVar>
<SetVar Name="owshiddenversion">{current-item-version}</SetVar>
<SetVar Name="urn:schemas-microsoft-com:office:office#Title">some title</SetVar>
</Method>
</ows:Batch>
在此xml上执行BatchData后,即使不更改任何可见的项目字段,我也收到了新版本({previous-version} + 1)。
是否可以像使用SystemUpdate(false)一样使用ProcessBatchData?
P.S。我需要更新List项目。前面提到的xml在更新DocumentLibrary项目时非常有效...
答案 0 :(得分:0)
一块蛋糕:) lol
using (var disabler = new DisabledEventFiringScope())
{
web.ProcessBatchData(batchXml);
}
这是DisabledEventFiringScope类的代码:
class DisabledEventFiringScope : SPEventReceiverBase, IDisposable
{
public DisabledEventFiringScope()
{
EventFiringEnabled = false;
}
public void Dispose()
{
EventFiringEnabled = true;
}
}