Как получить все библиотеки документов, НО Шаблоны форм, Стиль, Индивидуальные отчеты
Я создаю веб-часть для SharePoint 2010, чтобы получить все библиотеки документов с полезной информацией для пользователя. Это означает, что документы, загруженные пользователями, и т. Д. Я не хочу показывать такие библиотеки, как шаблоны форм, библиотека стилей, настраиваемые отчеты и т. Д.
Я просто хочу показать только библиотеки документов с полезной информацией, как Shared Documents или любые другие пользователи, которые будут созданы в будущем, возможно ли это?
В настоящее время моя логика выглядит так:
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 Document Library, но я все еще получаю эти нежелательные библиотеки в результатах.
2 ответа
Что не так с исключением библиотек, которые вы не хотите в своем if
?
...
if (!list.Hidden && list.title != "Style Library" && list.title != "Form Templates")
...
Вы уже выбираете BaseType
DocumentLibrary, так что вы будете получать только библиотеки документов, к сожалению, шаблоны форм также являются документооборотом, поэтому вы всегда будете получать их по своему выбору.
Я использовал этот кусок кода:
if (docLib.Hidden || !docLib.AllowDeletion || docLib.IsCatalog || docLib.IsSiteAssetsLibrary || docLib.BaseTemplate == SPListTemplateType.WebPageLibrary)
{
continue;
}