Silverlight 4.0 使用Silverlight 4 UI控件将新项目保存到自定义SharePoint 2007列表时出现问题
我希望有人能帮助我。我正在开发一个联系人管理器,它使用一个定制的SharePoint 2007列表构建,在内容编辑器web部件中嵌入了Silverlight 4 UI 我目前能够从列表中检索数据,并将其显示在UI上的datagrid中,并且一切正常 现在,我尝试使用以下代码向列表中添加新项目,但这些项目不保存 我已经使用Debug->Attach to Process选项远程调试了以下代码,所有操作似乎都成功执行,没有出现任何错误,但它不会将项目保存到SharePoint 为了简化并获得一个可用的插入函数,我将所有SharePoint字段更改为单行文本,但notes多行除外,并且不需要任何文件 sharepoint网站确实需要Windows身份验证,但它似乎工作正常,因为我可以使用标准sharepoint表单手动显示它并添加新项目 最后,我在底部为Batch元素添加了xml,在调试时将其复制为输出 请让我知道,如果有任何额外的信息,我可能会丢失 提前感谢您可能愿意提供的任何帮助 查尔斯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 为了简化并获得一个可用
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 干杯, 查尔斯