목록 항목 값을 업데이트하기 위해 다음 코드를 실행하려고합니다. "설정"목록 이름이 목록에있는 항목 우리가 코드를 사용하여 목록의 view 이름 값을 얻는 방법 1.웹 서비스 코드를 사용하여 공유 지점의 기존 목록 항목 값을 업데이트하십시오.
Main()
{
ListsSoapClient client = new ListsSoapClient();
client.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
string strListName = "Settings";
client.Open();
XElement listData = client.GetList(strListName);
string listID = listData.Attribute("ID").Value;
string version = listData.Attribute("Version").Value;
// string version = listData.Attribute("View").Value; Doesnt work
// Method 1 : Make the call to SharePoint
var listItems = client.GetListItems(strListName, null, null, null, null, null, null);
List<XElement> results = listItems.Descendants().ToList();
XElement updateItem = results[1];
updateItem.SetAttributeValue("ows_Value", "value to update");
client.UpdateListItems(strListName, updateItem); //Didnt work
// Method 2 : Make the call to SharePoint
string strBatch = "<Method ID='1' Cmd='Update'>" +
"<Field Name='ID'>1</Field>" +
"<Field Name='Title'>" + "999" + "</Field></Method>";
XmlDocument xmlDoc = new System.Xml.XmlDocument();
System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");
//elBatch.SetAttribute("OnError","Continue"); //Not mandatory ?
//elBatch.SetAttribute("ListVersion","1"); //Not mandatory ?
//elBatch.SetAttribute("ViewName", "00F85842-35AD-4AED-8DF7-0F903FB850BE"); is it mandatory ?
elBatch.InnerXml = strBatch;
client.UpdateListItems(strListName, XmlElementToXelement(elBatch)); //doesnt work
client.Close();
}
public static XElement XmlElementToXelement(XmlElement e)
{
return XElement.Parse(e.OuterXml);
}
의 인덱스를 데 무엇입니까? 왜 방법 2에서 필수가 아닙니다. Method2에서 목록 항목 제목은 값 999로 바뀌고 있습니다. 여기서 해당 목록 항목의 값을 업데이트하려고합니다.
방법 1의 끝에서 나는 아래 예외를 얻고 있습니다. 어떻게 수정합니까?
Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown.