如何使用webservice更新列表时将自定义字段作为参数传递

时间:2012-09-17 15:12:33

标签: sharepoint-2010

我有一个名为projectlist的自定义列表。我希望通过基于条件的webservice更新此列表,例如更新项目列表列说项目已完成日期,其中projectname =“Sharepoint”和Status =“已完成”。

要更新此列表,我使用了以下从msdn网站获得的技术:

System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");
elBatch.SetAttribute("OnError", "Continue");
elBatch.SetAttribute("ListVersion", "1");
elBatch.SetAttribute("ViewName", projectlistviewName);

string strBatch = "<Method ID='1' Cmd='Update'>" +
"<Field Name='ID'>" +RowID + "</Field>" +
"<Field Name='ProjectCompletedDate'>ProjectCompletionDatevalue</Field></Method>" +
"<Method ID='1' Cmd='Update'><Field Name='ID' >" +RowID + "</Field>" +
"<Field Name='ProjectDescription'>"Project Description Value"</Field></Method>"; 

elBatch.InnerXml = strBatch;
XmlNode nreturn = ListReference.UpdateListItems("projectlist", elBatch);

上面的方法基于RoWId更新列表项,但是要根据项目名称或状态字段等自定义字段更新列表项(如果我用任何自定义字段替换ID字段),我收到此错误:

“提供的网址包含无效的命令或值。请再次检查网址。”

我的目标是更新listname =“Sharepoint”和Status =“Completed”的列表项。

1 个答案:

答案 0 :(得分:0)

据我所知,您必须提供商品ID - 无论您从哪里获取行ID - 尝试获取商品ID - 否则您可能需要构建一个过滤数据的自定义服务方法。 问候, KS