Silverlight 4.0 使用Silverlight 4 UI控件将新项目保存到自定义SharePoint 2007列表时出现问题

Silverlight 4.0 使用Silverlight 4 UI控件将新项目保存到自定义SharePoint 2007列表时出现问题,silverlight-4.0,sharepoint-2007,xelement,Silverlight 4.0,Sharepoint 2007,Xelement,我希望有人能帮助我。我正在开发一个联系人管理器,它使用一个定制的SharePoint 2007列表构建,在内容编辑器web部件中嵌入了Silverlight 4 UI 我目前能够从列表中检索数据,并将其显示在UI上的datagrid中,并且一切正常 现在,我尝试使用以下代码向列表中添加新项目,但这些项目不保存 我已经使用Debug->Attach to Process选项远程调试了以下代码,所有操作似乎都成功执行,没有出现任何错误,但它不会将项目保存到SharePoint 为了简化并获得一个可用

我希望有人能帮助我。我正在开发一个联系人管理器,它使用一个定制的SharePoint 2007列表构建,在内容编辑器web部件中嵌入了Silverlight 4 UI

我目前能够从列表中检索数据,并将其显示在UI上的datagrid中,并且一切正常

现在,我尝试使用以下代码向列表中添加新项目,但这些项目不保存

我已经使用Debug->Attach to Process选项远程调试了以下代码,所有操作似乎都成功执行,没有出现任何错误,但它不会将项目保存到SharePoint

为了简化并获得一个可用的插入函数,我将所有SharePoint字段更改为单行文本,但notes多行除外,并且不需要任何文件

sharepoint网站确实需要Windows身份验证,但它似乎工作正常,因为我可以使用标准sharepoint表单手动显示它并添加新项目

最后,我在底部为Batch元素添加了xml,在调试时将其复制为输出

请让我知道,如果有任何额外的信息,我可能会丢失

提前感谢您可能愿意提供的任何帮助

查尔斯

public string sharepoint_soap_namespace = "http://schemas.microsoft.com/sharepoint/soap/";
public string sharepoint_rowset_namespace = "#RowsetSchema";
public string service_lists_url = "http://myDomain/_vti_bin/lists.asmx";
public string listName = "MyContacts";

 public void TestCreateContact()
{
  Uri serviceUri = new Uri(service_lists_url);
  BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
  binding.MaxReceivedMessageSize = 2147483647; // This has to be the same as in the ServiceReferences.ClientConfig file.
  EndpointAddress endpoint = new EndpointAddress(serviceUri);
  ListsSoapClient testCreateClient = new ListsSoapClient(binding, endpoint);

XElement batch = new XElement("batch",
  new XElement("Method",
  new XAttribute("ID", "1"),
  new XAttribute("Cmd", "New"),
  CreateFieldElement("ows_ID", "New"),
  CreateFieldElement("ows_Title", "John"),
  CreateFieldElement("ows_SupportFor","USA"),
  CreateFieldElement("ows_LastName","Doe")
));


testCreateClient.UpdateListItemsCompleted +=
      new EventHandler<UpdateListItemsCompletedEventArgs>(createSoapClient_UpdateListItemsCompletedEventArgs);

testCreateClient.UpdateListItemsAsync(listName, batch);
testCreateClient.CloseAsync();

}


private XElement CreateFieldElement(string fieldName, string fieldValue)
{
  XElement element = new XElement("Field",
  new XAttribute("Name", fieldName),
  fieldValue);
  return element;
}

只是一个快速更新,让大家知道我能够回答我自己的问题。 似乎在批处理XElement中,我使用了错误的字段名

CreateFieldElementows_SupportFor,美国

我使用的是ows_SupportFor,而不是没有ows_前缀的SupportFor

干杯, 查尔斯