在获取SPWeb对象之前必须实例化一个SPSite对象,代码如下:
1 |
using (SPSite
site = new SPSite( "http:
//develop" )) |
使用using语句实例化SPSite对象不用释放资源,如果不使用using语句,则在使用完SPSite或SPWeb对象之后就必须释放资源。代码如下:
1 |
SPSite
site1 = new SPSite( "http:
//develop" ); |
实例化完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对象之后,必须手工释放资源,否则会造成内存泄漏,手工释放的代码如下:
9) 使用using关键字则不需要手工释放
2 |
using (SPWeb
web8 = site.RootWeb) |
4 |
SPList
list = web8.Lists[1]; |