SharePoint2010 SharePoint Fundation 服务器端对象模型之 枚举网站和网站集

基本对象模型任务:http://msdn.microsoft.com/zh-cn/library/ms412748

 

下面的示例枚举当前网站集中所有网站和列表的标题

代码如下:

        SPSite oSiteCollection = SPContext.Current.Site;  //获取当前site对象
            SPWebCollection collWebsite = oSiteCollection.AllWebs;  //获取站点下的所有 web

            for (int i = 0; i < collWebsite.Count; i++)
            {
                using (SPWeb oWebsite = collWebsite[i])
                {
                    SPListCollection collList = oWebsite.Lists;

                    for (int j = 0; j < collList.Count; j++)
                    {
                        Label1.Text += SPEncode.HtmlEncode(collWebsite[i].Title) + "   "
                            + SPEncode.HtmlEncode(collList[j].Title) + "<BR>";
                    }
                }
            }

效果如下:

image

 

下面例子,返回某个网站下的所有首层子网站的列表:

代码:

            SPSite oSiteCollection = SPContext.Current.Site;
            SPWeb web = new SPSite(oSiteCollection.Url).OpenWeb(); //获取本网站集的根网站
            SPWebCollection collWebsite = web.Webs;   //获取根网站下的所有首层网站

            foreach (SPWeb item in collWebsite)
            {
                Label1.Text += SPEncode.HtmlEncode(item.Title) + "<br>";
                item.Close();  //请求完毕后关闭site,释放资源 
              }

 

image

 

下面找出根网站集下首层子网站的url以及下面的列表名字

代码如下:

string url = @"http://win-s6to7hc4d0o:12345/default.aspx";
            SPWeb web = new SPSite(url).OpenWeb(); //根网站集的根网站
            SPWebCollection collWebsite = web.Webs;

            foreach (SPWeb oweb in collWebsite)
            {
                foreach (SPList olist in oweb.Lists)
                {
                    Label1.Text += oweb.Url + "  " + olist.Title + "<br>";
                }
                oweb.Close();
            }

image

 

获取所有网站集

代码:

            SPWebApplication webApplication = SPContext.Current.Site.WebApplication;
            SPSiteCollection siteCollections = webApplication.Sites;

            foreach (SPSite siteCollection in siteCollections)
            {
                Label1.Text += siteCollection.Url + "<BR>";

                siteCollection.Close();
            }

image

posted @ 2012-06-01 10:11  高捍得  阅读(284)  评论(0编辑  收藏  举报