0

我有一个名为 projectlist 的自定义列表。我想通过基于条件的 web 服务来更新这个列表,比如更新 projectlist 列说 project completedDate where projectname="Sharepoint" 和 Status="Completed"。

为了更新这个列表,我使用了从 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 字段替换为任何自定义字段),我收到此错误:

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

我的目标是更新 projectname="Sharepoint" 和 Status="Completed" 的列表项。

4

1 回答 1

0

据我所知,您必须提供项目 ID - 无论您从何处获取行 ID - 尝试获取项目 ID - 否则您可能必须构建一个自定义服务方法来过滤数据。问候,KS

于 2012-09-18T16:52:11.310 回答