如何获取所有文档库但是表单模板,样式,自定义报告

时间:2011-01-05 16:31:12

标签: c# sharepoint-2010 web-parts

我正在为SharePoint 2010构建一个webpart,以便为所有文档库提供有用的用户信息。这意味着,用户上传的文档等。我不想显示表单模板,样式库,自定义报告等库...

我只想展示包含有用信息的文档库,如共享文档,或将来创建的任何其他用户,是否可能?

目前,我的逻辑看起来像这样:

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...  
    }
}

我已阅读here Guid 00bfea71-e717-4e80-aa17-d0c71b360101只会返回带有MS文档库模板的库,但我仍然会在结果中获取这些不需要的库。

2 个答案:

答案 0 :(得分:4)

if中排除想要的库有什么问题?

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

您已经选择了BaseType DocumentLibrary,因此您只会收到文档库,不幸的是,表单模板也是doclib,因此您将始终在选择中获取它。

答案 1 :(得分:1)

我使用了这段代码:

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