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>";
}
}
}
效果如下:
下面例子,返回某个网站下的所有首层子网站的列表:
代码:
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,释放资源
}
下面找出根网站集下首层子网站的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(); }
获取所有网站集
代码:
SPWebApplication webApplication = SPContext.Current.Site.WebApplication;
SPSiteCollection siteCollections = webApplication.Sites;
foreach (SPSite siteCollection in siteCollections)
{
Label1.Text += siteCollection.Url + "<BR>";
siteCollection.Close();
}




浙公网安备 33010602011771号