Получение полей из списка на странице Sharepoint - PullRequest
1 голос
/ 12 августа 2010

Я очень новичок в Sharepoint, у меня есть страница aspx на сайте Sharepoint, которая показывает список полей, включая Имя, Фамилию и т. Д. У меня есть консольное приложение, в Visual Studio. использование для тестирования связи и возможности передачи данных между одним веб-сервисом и другим; а именно Sharepoint и другой веб-сервис. Моя цель - заполнить различные поля в списке на моем сайте Sharepoint данными из другого веб-сервиса. Я использую веб-ссылку на веб-службу списков на своем сервере Sharepoint, чтобы попытаться получить доступ к полям в этом конкретном списке на сайте Sharepoint. У меня есть следующий код:

''Name of my web reference to Lists Web Service is "sharepoint"
        Dim sharepointList As New sharepoint.Lists()
        sharepointList.Credentials = System.Net.CredentialCache.DefaultCredentials

        Dim testLists As XmlNode = sharepointList.GetListCollection
        Dim xmlText As String = testLists.InnerXml
        Dim xmlElement As XmlAttributeCollection = testLists.Attributes

Я пытался найти, где находится этот конкретный список. Я признаю, что я не уверен, где я должен искать, как демонстрирует приведенный выше код. Я использовал отладчик для анализа каждой из вышеперечисленных переменных, чтобы попытаться найти, где в XML определен этот конкретный список. Любая помощь или понимание приветствуется.

Вот снимок страницы Sharepoint, содержащей список, который я пытаюсь найти:

alt text

UPDATE:

Я решил использовать функцию GetList () и передал ей имя «New Hires». Это закончилось захватом списка выше. Теперь я просто пытаюсь выяснить, могу ли я получить доступ только к полям, изображенным выше, анализируя xml, кажется, что это просто отображаемые имена, фактический fieldID - это какая-то буквенно-цифровая строка, т. Е. Display Name = "Business Phone" имеет идентификатор поля = "{fd630629-c165-4513-b43c-fdb16b86a14d}". Мне интересно, есть ли способ поиска полей по отображаемому имени.

Ответы [ 2 ]

0 голосов
/ 13 августа 2010

Это двусторонний подход.

Во-первых, вам нужно получить доступ к службе SharePoint из контекста конкретного сайта, на котором находится ваш список. Например, если URL-адрес вашего списка был:

http://sharepoint/foo/bar/baz/Lists/MyList

Вы получите доступ к веб-службе списка из: http://sharepoint/foo/bar/baz/_vti_bin/lists.asmx

Теперь вы находитесь в правильном семействе сайтов.Оставшимся шагом будет указание списка через имя или GUID при вызове одного из методов List.Например, если вы вызывали метод UpdateListItems (и это звучит так, как если бы вы были), вы бы использовали:

sharepoint.UpdateListItems( "{B1DC8A9C-2316-41AD-875B-01C9D4BD19F8}", myUpdateXml );

или

sharepoint.UpdateListItems( "MyList", myUpdateXml );

Очевидно, что имя списка будет соответствовать фактическому имени списка, которое вы видите в URL-адресе списка.Чтобы узнать GUID, просмотрите список в SharePoint, затем перейдите в «Настройки»> «Настройки списка» и извлеките его из URL-адреса (найдите параметр строки запроса List).Он будет закодирован, но вы можете использовать утилиту, такую ​​как URL Decoder / Encoder , чтобы декодировать его в правильный GUID.Не забудьте использовать скобки {} при отправке в GUID в качестве параметра.

0 голосов
/ 13 августа 2010

Прохождение с картинками

http://www.c -sharpcorner.com / UploadFile / Махеш / WSSInNet01302007093018AM / WSSInNet.aspx

Получите немного больше знаний с Общайтесь с SharePoint через его веб-сервисы

Чтобы добавить записи в список, вам потребуется веб-служба (MSDN) , например, , этот пример или , который также описывает, как найти GUID. списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...