SharePoint 2013中的SPsite无法使用URL调用其他网站集

时间:2015-03-19 20:22:11

标签: c# sharepoint sharepoint-2013 event-receiver

我正在尝试通过事件接收器访问不同的网站集。事件接收器做我想要的,但它在同一个网站集中。 我有以下代码

 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 个答案:

答案 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