我正在尝试通过事件接收器访问不同的网站集。事件接收器做我想要的,但它在同一个网站集中。 我有以下代码
using (SPSite destsite = new SPSite("http://man:8787/ONE/"))
{
string currentURL = destsite.Url.ToString()
}
我总是得到currentURL = http://man:8787
我永远不会 currentURL = http://man:8787/ONE
上有一个工作网站集2013年有什么变化,我做错了什么。
答案 0 :(得分:0)
根据您的描述,我们可以假设一两件事:
http://man:8787
是SiteCollection - 使用SPSite
如果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