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

来源:互联网 发布:手机怎样删除淘宝评论 编辑:程序博客网 时间:2024/05/23 15:41

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

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

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

using (SPSite site = new SPSite("http: //develop")){}
        使用using语句实例化SPSite对象不用释放资源,如果不使用using语句,则在使用完SPSite或SPWeb对象之后就必须释放资源。代码如下:
SPSite site1 = new SPSite("http: //develop");site1.Close();site1.Dispose();
        实例化完SPSite对象之后就可以使用SPWeb对象了。
1) 获取根网站1
SPWeb web1 = site.RootWeb;
2) 获取根网站2
SPWeb web2 = site.OpenWeb();
3) 根据网站URL地址名称获取SPWeb对象
SPWeb web3 = site.OpenWeb("strUrlName");
        这个URL地址名称是在创建网站时输入的URL名称。如我们创建的网站地址如下:http://develop/SearchWeb
        要打开SearchWeb这个网站,则要使用如下代码:
SPWeb web3 = site.OpenWeb("SearchWeb");
4) 根据GUID获取SPWeb对象
SPWeb web4 = site.OpenWeb(new Guid("410CAFBB-23CA-4427-9A13-024C1CF624F5"));
5) 根据指定的名称获取SPWeb对象
SPWeb web5 = site.AllWebs["项目组网站"];
        这个指定的网站名称是指在创建网站时输入的网站标题,这个网站标题跟URL名称是没有关系的,创建完网站之后,网站标题是可以再次修改的,而URL地址名称就不能再次修改了。
6) 根据指定的索引号来获取SPWeb对象
SPWeb web6 = site.AllWebs[0];
7) 获取代码运行的上下文中的SPWeb对象
SPWeb web7 = SPContext.Current.Web;
        使用SPContext获取的当前SPWeb对象是不需要手工释放的,但此代码必须运行在SharePoint 上下文中。
8) 释放SPWeb对象资源
        在使用上面的代码使用完SPWeb对象之后,必须手工释放资源,否则会造成内存泄漏,手工释放的代码如下:
//关闭SPWebweb1.Close();//释放SPWebweb1.Dispose();
9) 使用using关键字则不需要手工释放
//使用using关键字则不需要释放using (SPWeb web8 = site.RootWeb){       SPList list = web8.Lists[1];}