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

标签 c# sharepoint-2010 web-parts

我正在为 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...  
    }
}

我读过 here Guid 00bfea71-e717-4e80-aa17-d0c71b360101 将只返回带有 MS Document Library 模板的库,但我仍然在结果中得到那些不需要的库。

最佳答案

if 中排除您不需要的库有什么问题?

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

您已经选择了 BaseType DocumentLibrary,因此您只会收到文档库,不幸的是表单模板也是一个 doclib,因此您总是会在您的选择中得到它。

关于c# - 如何获取除表单模板、样式、自定义报告之外的所有文档库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4606533/

相关文章:

properties - 如何检查 SharePoint 网站上是否存在 Web 属性?

c# - 与 SharePoint 列表版本控制和 C# 交互

sharepoint-2010 - Sharepoint 2010 通过 wsp 将控件注册为安全

c# - SharePoint 2013 自定义 Web 部件不可见

sharepoint - 每页的 Web 部件/Web 部件区域的最大数量? (微软 SharePoint 2007)

C# 标准输入/标准输出性能

c# - 浏览器OPTIONS请求方式和windows授权

c# - Razor Pages - 由于多个对象共享参数,模型验证失败

c# - 如何删除 dbo.AspNetUserClaims 和 dbo.AspNetUserLogins 表(IdentityUserClaim 和 IdentityUserLogin 实体)?

c# - 使用 XPATH 从 XML 文档中选择特定值?