делаю так:
using(SPSite site = new SPSite(pathFolder))
{
using (SPWeb rootWeb = site.OpenWeb())
{
SPListCollection docLibraryColl = rootWeb.GetListsOfType(SPBaseType.DocumentLibrary);
foreach (SPList list in docLibraryColl)
{
if (!list.Hidden && list.Title.CompareTo(sDocLibrary) == 0)
{
SPDocumentLibrary doclib = (SPDocumentLibrary)list;
SPFolder folder = doclib.RootFolder;
foreach (SPFolder subfolder in folder.SubFolders)
{
// здесь получаю файлы и другие папки
}
}
}
}
}
использую заводской сайт на sharepoint
вместе с реальными папками документов, которые видят пользователи, выдаются еще и папка Forms со страницами aspx.
Как такое отфильтровать?
Спасибо.
Здравствуйте, Alex Dav, Вы писали:
AD>делаю так:
AD>AD>using(SPSite site = new SPSite(pathFolder))
AD>{
AD> using (SPWeb rootWeb = site.OpenWeb())
AD> {
AD> SPListCollection docLibraryColl = rootWeb.GetListsOfType(SPBaseType.DocumentLibrary);
AD> foreach (SPList list in docLibraryColl)
AD> {
AD> if (!list.Hidden && list.Title.CompareTo(sDocLibrary) == 0)
AD> {
AD> SPDocumentLibrary doclib = (SPDocumentLibrary)list;
AD> SPFolder folder = doclib.RootFolder;
AD> foreach (SPFolder subfolder in folder.SubFolders)
AD> {
AD> // здесь получаю файлы и другие папки
AD> }
AD> }
AD> }
AD> }
AD>}
AD>
AD>использую заводской сайт на sharepoint
AD>вместе с реальными папками документов, которые видят пользователи, выдаются еще и папка Forms со страницами aspx.
AD>Как такое отфильтровать?
Скрывай те, у которых свойство Item возвращает null.
А вообще циклами рекурсивно ходить по папкам неэффективно. Используй SPQuery и scope RecursiveAll.