2016-07-15 16 views
0

Ich bin ein Webpart für SharePoint 2010 erstellen, um alle Dokumentbibliotheken und Bildbibliotheken in zwei Dropdown-Liste zu erhalten. Ich bin in der Lage, alle Dokumentbibliotheken mit dem folgenden Code zu erhalten. Wie bekomme ich alle Bildbibliotheken in einer Site?So erhalten Sie eine Liste aller Bildbibliotheken von SharePoint-Website programmgesteuert mit C#

`string currentSite = SPContext.Current.Web.Site.Url; 
List<string> libraryList = new List<string>(); 

using (SPSite oSite = new SPSite(currentSite)) 
{ 
    using (SPWeb oWeb = oSite.OpenWeb()) 
    { 
     SPListCollection docLibraries = Web.GetListsOfType(SPBaseType.DocumentLibrary); 

     foreach (SPList list in docLibraries) 
     { 
     libraryList.Add(list.Title.ToString()); 
     } 
    } 
}` 

Antwort

1

gut, könnten Sie versuchen, die Liste Basisvorlage Überprüfung:

var pictureLibs = new List<string>(); 
foreach(var list in oWeb.Lists){ 
    if(list.BaseTemplate.Equals(SPListTemplateType.PictureLibrary)) 
    pictureLibs.Add(list.Title); 
} 

dies sollten Sie nur die Bibliotheken erhalten, die auf dem Standard-Bild lib Vorlage basieren.

jedoch, wenn Sie jede Art von Liste erhalten möchten, die Bilder enthält, die Sie für die Überprüfung der Inhaltstypen jeder Liste gehen könnte, wäre die Bedingung für das in etwa so aussehen:

if(list.ContentTypes.Any(x => x.Id.IsChildOf(SPBuiltInContentTypeId.Picture))) 
+1

@garglbarg Dank Kumpel. Es funktionierte! –