SPsite в SharePoint 2013 не может вызывать другие семейства сайтов с URL

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

 using (SPSite destsite = new SPSite("http://man:8787/ONE/"))
  {
    string currentURL = destsite.Url.ToString()  

   } 

я всегда получаю currentURL = http://man:8787/

я никогда не получаю currentURL = http://man:8787/ONE

У меня есть рабочая коллекция сайтов по адресу http://man:8787/ONE

Есть ли что-то изменилось в 2013 году, я делаю что-то не так.

1 ответ

Из того, что вы описываете, мы можем предположить одну или две вещи:

http://man:8787 такое SiteCollection - звоните SPSite

Если текущий URL из SPSite("http://man:8787/ONE/") всегда есть http://man:8787 затем http://man:8787/ONE/ это сайт внутри этой коллекции сайтов, поэтому вы должны использовать SPWeb,

Если вы хотите, чтобы этот сайт находился в определенном месте, используйте следующий код:

using (SPSite site = new SPSite("http://man:8787/ONE/"))
{
    using (SPWeb web = site.OpenWeb())
    { 
       //magic happens here
    }
}

Изменить: на SharePoint.SE есть замечательный ответ, который снимает некоторую путаницу вокруг SPSite, SPWeb и т. Д.: https://sharepoint.stackexchange.com/questions/23241/getting-my-head-round-spsite-vs-spweb-vs-anything-else

Другие вопросы по тегам