我想做的事情似乎很简单,我有一个应用程序通过SharePoint Services与某些SharePoint(MOSS 2007)列表交互。在一个服务电话中,我想更新一个或多个列表项。问题是我只想更新要更新的字段等于旧值的项目。我的想法是使用Lists.UpdateListItems并过滤然后更新,但我无法找到它的语法。
In伪:将[名称]更新为[ListA]中所有项目的“NewName”,其中[Name] =“OldName”
我想避免的一个解决方案:获取所有ListItem的ID,其中Name =“OldName”并迭代它们为每个更新Name =“NewName”进行单独的服务调用。
我无法引用Microsoft.SharePoint程序集,因此理想情况下这是一次服务调用。
答案 0 :(得分:1)
您必须进行 2次调用,一次检索匹配的项目,另一次进行更新。
这可能是相当复杂的,所以我在这里写了一篇关于它的博客文章(包括必要的代码):http://www.wirebear.com/blog/2011/02/11/batch-updates-with-sharepoint-2007-services/