SharePoint Lists.asmx UpdateListItems SET Field1 = NewValue WHERE Field1 = OldValue(按更新字段过滤)

时间:2011-02-11 20:50:41

标签: c# sharepoint list service

我想做的事情似乎很简单,我有一个应用程序通过SharePoint Services与某些SharePoint(MOSS 2007)列表交互。在一个服务电话中,我想更新一个或多个列表项。问题是我只想更新要更新的字段等于旧值的项目。我的想法是使用Lists.UpdateListItems并过滤然后更新,但我无法找到它的语法。

In伪:将[名称]更新为[ListA]中所有项目的“NewName”,其中[Name] =“OldName”

我想避免的一个解决方案:获取所有ListItem的ID,其中Name =“OldName”并迭代它们为每个更新Name =“NewName”进行单独的服务调用。

我无法引用Microsoft.SharePoint程序集,因此理想情况下这是一次服务调用。

1 个答案:

答案 0 :(得分:1)

您必须进行 2次调用,一次检索匹配的项目,另一次进行更新。

这可能是相当复杂的,所以我在这里写了一篇关于它的博客文章(包括必要的代码):http://www.wirebear.com/blog/2011/02/11/batch-updates-with-sharepoint-2007-services/