如何使用 C# 以编程方式从 SharePoint 网站获取所有图片库的列表

本文关键字:获取 图片库 列表 网站 SharePoint 何使用 编程 方式 | 更新日期: 2023-09-27 17:57:10

我正在为 SharePoint 2010 构建一个 Web 部件,以便在两个下拉列表中获取所有文档库和图片库。我能够使用以下代码获取所有文档库。如何获取网站中的所有图片库。

`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());
      }
   }
}`

如何使用 C# 以编程方式从 SharePoint 网站获取所有图片库的列表

好吧,您可以尝试检查列表基本模板:

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

这应该只为您提供那些基于标准图片库模板的库。

但是,如果您想获得任何类型的包含图片的列表,您可以检查每个列表的内容类型,其条件如下所示:

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