Добавить список документов SharePoint в панель быстрого запуска через веб-службы - PullRequest
2 голосов
/ 16 марта 2009

Я создаю библиотеки документов в SharePoint с помощью метода Webservice Lists.AddList через приложение C # .Net. (См. Ниже)

listsService.AddList(listTitle, listDescription, 101);

Я бы хотел, чтобы они отображались в меню быстрого запуска под сайтом, на котором они созданы, а не только в меню «Все содержимое сайта».

Я посмотрел на метод Lists.UpdateList (), но без особой удачи.

Кто-нибудь знает, как это сделать через веб-сервисы? (Это нельзя сделать вручную, так как слишком много списков для изменения).

Я использую последнюю версию SharePoint Server и веб-служб.

Спасибо :)) 1012 *

Ответы [ 3 ]

2 голосов
/ 10 ноября 2010
XmlDocument xmlDoc = new System.Xml.XmlDocument();

XmlNode ndProperties = xmlDoc.CreateNode(XmlNodeType.Element, "List", "");

XmlAttribute ndQuickLaunchAttrib = (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, "OnQuickLaunch", "");

ndQuickLaunchAttrib.Value = "True";

ndProperties.Attributes.Append(ndQuickLaunchAttrib);

XmlNode ndReturn = proxy.UpdateList("12345", ndProperties, null, null, null, null);
2 голосов
/ 17 марта 2009

Я считаю, что вы правы, что настройка OnQuickLaunch недоступна через веб-сервис. Установка OnQuickLaunch в listProperties для UpdateList - это то, что я бы попробовал, но, похоже, это не работает.

Если ваши списки еще не существуют, я бы предложил создать функцию с шаблоном списка с OnQuickLaunch="true" и добавить списки с помощью AddListFromFeature. Другой вариант - написать собственный сервис для установки свойства через объектную модель.

0 голосов
/ 06 июля 2010

Лучше всего сначала создать объект SPList, а затем выполнить OnQuickLaunch = "true". Не забудьте команду обновления!

Example:
Guid listID = Guid.Empty;
listID = siteObject.Lists.Add("Title","Description",listTemplateObject);
//This will work:
SPList thisList = siteObject.Lists[ListID];
thisList.OnQuickLaunch = true;
thisList.Update();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...