SharePoint: при извлечении списков отсутствует ошибка с именем в Интернете - PullRequest
0 голосов
/ 04 января 2012

Я работаю на сервере sharepoint 2010. Мне необходимо получить доступ ко всем спискам с текущего сайта.

На моем сервере sharepoint у меня есть следующие вещи: 1) Sitecollection, которая содержит под-сайты

Например: http://servername:portNo/SiteA/default.aspx, где SiteA - дочерний сайт.

2) Веб-приложение и сайты под ним.

Например: http://servername:portNo/sites/ProjectA/default.aspx, где ProjectA - это сайт под веб-приложением

Теперь мне нужно получить все списки, которые присутствуют на текущем сайте.для которого я использую приведенный ниже код

SPSite SiteCollection = SPContext.Current.Site;
SPWeb web = SiteCollection.AllWebs[CurrentSiteAddress];            
List<SPList> listCollection = new List<SPList>();
SPListCollection **lists** = web.Lists;

Приведенный выше код работает, когда текущий сайт является коллекцией сайтов, т.е. основным сайтом и его подсайтами.Однако код нарушается, когда мой текущий сайт является сайтом под веб-приложением.

Сообщение об исключении: Нет сети с именем \ "/ sites / ProjectA \". "

Но при отладке нижеcode,

SPListCollection списки = web.Lists;

списки коллекция не заполняется. Но после некоторой задержки списки коллекция заполняется и работает без проблем. Кто-нибудь может сказать мне, что может быть причиной этого? И как я могу решить эту проблему?

1 Ответ

0 голосов
/ 25 марта 2013

попробуйте это:

string siteurl = SPContext.Current.Site.Url;
string weburl = SPContext.Current.Web.ServerRelativeUrl;

using (SPWeb safeWeb = new SPSite(siteurl).OpenWeb(weburl))
{
    SPListCollection lists = web.Lists;
    foreach (SPList list in lists)
    {
      //do whatever you want with your list(s)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...