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