Как да получите всички библиотеки с документи, НО шаблони на формуляри, стил, персонализирани отчети

Създавам уебчаст за SharePoint 2010, за да получа всички библиотеки с документи с полезна информация за потребителя. Това означава документи, които потребителите са качили и т.н. Не искам да показвам библиотеки като шаблони на формуляри, библиотека със стилове, персонализирани отчети и т.н...

Просто искам да покажа само библиотеките с документи с полезна информация, като споделени документи или други потребители, създадени в бъдеще, възможно ли е?

В момента логиката ми изглежда така:

SPListCollection docLibraryColl = wb.GetListsOfType(SPBaseType.DocumentLibrary);

Guid docLibFeatId = new Guid("00bfea71-e717-4e80-aa17-d0c71b360101");

foreach (SPList list in docLibraryColl)
{
    if (list.TemplateFeatureId == docLibFeatId && !list.Hidden)
    {
        SPDocumentLibrary doclib = (SPDocumentLibrary)list;
        //rest of the logic here...  
    }
}

Прочетох тук, че Guid 00bfea71-e717-4e80-aa17-d0c71b360101 ще върне само библиотеки с шаблон на MS Document Library, но все още получавам тези нежелани библиотеки в резултатите.


person Brian Roisentul    schedule 05.01.2011    source източник


Отговори (2)


Какво не е наред с изключването на библиотеките, които не искате във вашия if?

...
if (!list.Hidden && list.title != "Style Library" && list.title != "Form Templates")
...

Вие вече избирате BaseType DocumentLibrary, така че ще получавате само библиотеки с документи, за съжаление шаблоните за формуляри също са doclib, така че винаги ще ги получавате във вашия избор.

person Dennis G    schedule 04.02.2011
comment
Е, просто се опитвах да избегна това, но добре, мисля, че нямам избор. - person Brian Roisentul; 04.02.2011
comment
Не знам за друг начин да изключа всички неща на MS и да включа само моите неща... в крайна сметка библиотеката с формуляри наистина Е просто обикновена библиотека с документи... ;-) - person Dennis G; 05.02.2011

Използвах този код:

 if (docLib.Hidden || !docLib.AllowDeletion || docLib.IsCatalog || docLib.IsSiteAssetsLibrary || docLib.BaseTemplate == SPListTemplateType.WebPageLibrary)
{
   continue;
}
person yianna    schedule 16.06.2014