SharePoint对象模型操作SPWeb对象总结

SharePoint对象模型操作SPWeb对象总结

在对象模型中,SPWeb对象始终是和SPSite对象紧密联系在一起的,SPSite对象表示网站集对象,而SPWeb对象表示网站集下的一个子网站对象。在SharePoint对象模型中有很多种方法来获取SPWeb对象,下面一一讲解。

在获取SPWeb对象之前必须实例化一个SPSite对象,代码如下:

1 using (SPSite site = new SPSite("http: //develop"))
2 {
3 }

使用using语句实例化SPSite对象不用释放资源,如果不使用using语句,则在使用完SPSite或SPWeb对象之后就必须释放资源。代码如下:

1 SPSite site1 = new SPSite("http: //develop");
2 site1.Close();
3 site1.Dispose();

实例化完SPSite对象之后就可以使用SPWeb对象了。

1) 获取根网站1

1 SPWeb web1 = site.RootWeb;

2) 获取根网站2

1 SPWeb web2 = site.OpenWeb();

3) 根据网站URL地址名称获取SPWeb对象

1 SPWeb web3 = site.OpenWeb("strUrlName");

这个URL地址名称是在创建网站时输入的URL名称。如我们创建的网站地址如下:

http://develop/SearchWeb

则要打开SearchWeb这个网站,则要使用如下代码:

1 SPWeb web3 = site.OpenWeb("SearchWeb");

4) 根据GUID获取SPWeb对象

1 SPWeb web4 = site.OpenWeb(new Guid("410CAFBB-23CA-4427-9A13-024C1CF624F5"));

5) 根据指定的名称获取SPWeb对象

1 SPWeb web5 = site.AllWebs["项目组网站"];

这个指定的网站名称是指在创建网站时输入的网站标题,这个网站标题跟URL名称是没有关系的,创建完网站之后,网站标题是可以再次修改的,而URL地址名称就不能再次修改了。

6) 根据指定的索引号来获取SPWeb对象

1 SPWeb web6 = site.AllWebs[0];

7) 获取代码运行的上下文中的SPWeb对象

1 SPWeb web7 = SPContext.Current.Web;

  使用SPContext获取的当前SPWeb对象是不需要手工释放的,但此代码必须运行在SharePoint 上下文中。

8) 释放SPWeb对象资源

在使用上面的代码使用完SPWeb对象之后,必须手工释放资源,否则会造成内存泄漏,手工释放的代码如下:

1 //关闭SPWeb
2 web1.Close();
3 //释放SPWeb
4 web1.Dispose();

9) 使用using关键字则不需要手工释放

1 //使用using关键字则不需要释放
2 using (SPWeb web8 = site.RootWeb)
3 {
4        SPList list = web8.Lists[1];
5 }
posted @ 2013-11-03 00:19  crazygolf  阅读(195)  评论(0编辑  收藏  举报