вторник, 23 ноября 2010 г.

Перечисление всех коллекций сайтов приложения и сайтов в коллекции

Можно получить все сайты в коллекции сайтов, подсайты и списки текущего сайта или коллекцию сайтов.


Свойство AllWebs класса SPSite возвращает все сайты в коллекции сайтов.
Каждый пример требует подключенной сборки Microsoft.SharePoint.dll
Следующий пример перечисляет все названия сайтов и листов текущего сайта:

using (SPSite site = new SPSite("http://sharepoint"))
 {
  SPWebCollection collWebsite = site.AllWebs;

  for (int i = 0; i < collWebsite.Count; i++)
  {
   using (SPWeb oWebsite = collWebsite[i])
   {
    SPListCollection collList = oWebsite.Lists;

    for (int j = 0; j < collList.Count; j++)
    {
     Console.WriteLine(collWebsite[i].Title + "   "
      + collList[j].Title);
    }
   }
  }
 }

Свойство Webs класса SPWeb возвращает коллекцию подсайтов. Пример:

string webUrl = "http://sharepoint";

using (SPWeb oWebsite = new SPSite(webUrl).OpenWeb())
{
    SPWebCollection collWebsite = oWebsite.Webs;

    foreach (SPWeb subSite in collWebsite)
    {
        Console.WriteLine(subSite.Title);
        subSite.Close();
    }
}

Следующий пример выводит название все подсайтов и листов, а также количество элементов в листе:

using (SPWeb site = new SPSite("http://office.andata.ru").OpenWeb())
 {
  SPWebCollection subSites = site.Webs;

  foreach (SPWeb subSite in subSites)
  {
   Console.WriteLine(subSite.Title);

   SPListCollection collList = subSite.Lists;

   foreach (SPList oList in collList)
   {
    Console.WriteLine(oList.Title + " " + oList.ItemCount.ToString());
   }

   subSite.Close();
  }
 }


http://msdn.microsoft.com/en-us/library/ms462161.aspx

Комментариев нет:

Отправить комментарий