Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取除表单模板、样式和自定义报告之外的所有文档库_C#_Sharepoint 2010_Web Parts - Fatal编程技术网

C# 如何获取除表单模板、样式和自定义报告之外的所有文档库

C# 如何获取除表单模板、样式和自定义报告之外的所有文档库,c#,sharepoint-2010,web-parts,C#,Sharepoint 2010,Web Parts,我正在为SharePoint 2010构建一个Web部件,以便为用户获取所有包含有用信息的文档库。这意味着,用户上传的文档等。我不想显示诸如表单模板、样式库、自定义报告等库 我只想只显示包含有用信息的文档库,作为共享文档,或任何其他用户将来创建的文档,这可能吗 目前,我的逻辑如下: SPListCollection docLibraryColl = wb.GetListsOfType(SPBaseType.DocumentLibrary); Guid docLibFeatId = new Gu

我正在为SharePoint 2010构建一个Web部件,以便为用户获取所有包含有用信息的文档库。这意味着,用户上传的文档等。我不想显示诸如表单模板、样式库、自定义报告等库

我只想只显示包含有用信息的文档库,作为共享文档,或任何其他用户将来创建的文档,这可能吗

目前,我的逻辑如下:

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资料,只包括我的资料”。。。最终,表单库实际上只是一个常规文档库…;-)