0

projectlist というカスタム リストがあります。このリストを、条件に基づいて Web サービスを介して何らかの値で更新したいと考えています。

このリストを更新するために、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 に答える