Я надеюсь, что кто-то сможет мне помочь.Я работаю над диспетчером контактов, созданным с использованием настраиваемого списка SharePoint 2007 с пользовательским интерфейсом Silverlight 4, встроенным в веб-часть редактора контента.
В настоящее время я могу извлечь данные из списка и отобразить их в видеСетка данных в пользовательском интерфейсе и все работает хорошо.
Теперь я пытаюсь добавить возможность добавлять новые элементы в список, используя следующий код, но элементы не сохраняются.
I 'Мы удаленно отладили следующий код с помощью параметра «Отладка -> Присоединить к процессу», и все кажется выполненным без ошибок, но не сохраняет элемент в SharePoint.
Для упрощения и получения работающей функции вставкиЯ изменил все файлы SharePoint на однострочный текст, за исключением заметок (многострочный), и ни одно из файлов не требуется.
Для сайта sharepoint не требуется проверка подлинности Windows, но, похоже, она работает правильно, как и явозможность отображать его, а также добавлять новые элементы вручную, используя стандартный SharФормы ePoint.
Наконец, я добавил xml для элемента Batch внизу, который я скопировал как вывод при отладке.
Пожалуйста, дайте мне знать, если есть какая-либо дополнительная информация, которая может бытьпропал без вести.
Заранее благодарим за любую помощь, которую вы могли бы оказать.
Чарльз
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;
}