2012-07-11 56 views
0

我创建了一个网站名为应用程序测试。在这个网站我再次创建一个子网站命名为子应用程序如何访问SharePoint 2010中的子网站列表

我在网站中添加网址"http://SP2010:2222/"在Visual Studio Project中 Project Scope is Site。 现在我当我尝试访问列表(TestList)从子站点(子应用程序)它给出错误列表不存在。 以下代码访问列表(TestList):

using (SPSite sites = new SPSite(SPContext.Current.Site.Url)) 
     { 
      using (SPWeb web = sites.OpenWeb()) 
      { 
       SPList CurrentList = web.Lists["TestList"]; // Error comes here 
      } 
     } 

有人有解决办法吗?

回答

1

试试这个,

using (SPSite sites = new SPSite(SPContext.Current.Site.Url)) 
{ 
    using (SPWeb web = sites.OpenWeb()) 
     { 
      SPWebCollection subsites= web.GetSubwebsForCurrentUser(); //get subsites 
      for (int i= 0; i< subsites.Count; i++) 
       { 
       SPWeb subSiteWeb= subsites[i]; 

        SPList CurrentList = subSiteWeb.Lists["TestList"]; 
        if (CurrentList != null) 
        break;  
       }     
     } 
} 
+2

这会工作,但你不应该这样做。假设有500个子站点:-) – 2012-07-11 07:05:57

+0

在这种情况下,您将不得不在创建SPSite实例时指定子站点的URL。 – sharmila 2012-07-11 07:30:03

+0

它的工作,但我没有具体的网址。如果我为子网站创建子网站,此页面将从命令行动 – 2012-07-11 08:37:40

0

SPContext.Current.Site是你部署了事情当前站点 - 不管它是什么。但是当你做sites.OpenWeb()没有任何参数是打开RootWeb,如果根网站没有你的列表,你不会在那里找到它。

尝试通过使用其各自的URL来明确地打开网站和网站。 http://SP2010:2222/

相关问题