我正在为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文档库模板的库,但我仍然会在结果中获取这些不需要的库。
答案 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;
}