C# 如何获取除表单模板、样式和自定义报告之外的所有文档库
我正在为SharePoint 2010构建一个Web部件,以便为用户获取所有包含有用信息的文档库。这意味着,用户上传的文档等。我不想显示诸如表单模板、样式库、自定义报告等库 我只想只显示包含有用信息的文档库,作为共享文档,或任何其他用户将来创建的文档,这可能吗 目前,我的逻辑如下:C# 如何获取除表单模板、样式和自定义报告之外的所有文档库,c#,sharepoint-2010,web-parts,C#,Sharepoint 2010,Web Parts,我正在为SharePoint 2010构建一个Web部件,以便为用户获取所有包含有用信息的文档库。这意味着,用户上传的文档等。我不想显示诸如表单模板、样式库、自定义报告等库 我只想只显示包含有用信息的文档库,作为共享文档,或任何其他用户将来创建的文档,这可能吗 目前,我的逻辑如下: SPListCollection docLibraryColl = wb.GetListsOfType(SPBaseType.DocumentLibrary); Guid docLibFeatId = new Gu
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文档库模板的库,但我仍然会在结果中得到那些不需要的库 如果,那么将您不想要的库排除在之外有什么不对
...
if (!list.Hidden && list.title != "Style Library" && list.title != "Form Templates")
...
您已经选择了BaseType
DocumentLibrary,因此您将只接收文档库,不幸的是表单模板也是doclib,因此您将始终在您的选择中获得它。我使用了这段代码:
if (docLib.Hidden || !docLib.AllowDeletion || docLib.IsCatalog || docLib.IsSiteAssetsLibrary || docLib.BaseTemplate == SPListTemplateType.WebPageLibrary)
{
continue;
}
我只是想避免这种情况,但是,我想我别无选择。我不知道还有什么其他方法可以“排除所有MS资料,只包括我的资料”。。。最终,表单库实际上只是一个常规文档库…;-)