SharePoint2010 获取网站集SPSite,SPWeb对象的4种方法

SPSite:

   1>SPSite site1 = new SPSite("http:/ /siteName");

   2>SPSite site2 = new SPSite("http:/ /siteName"); //使用绝对URL实例化SPSite对象

   3>SPSite site3 = new SPSite(new Guid("ba3d975e-d956-43da-955b-52fcb1309313")) //使用GUID实例化为SPSite对象

   4>SPSite site4 = SPContext.Current.Site;

SPWeb:

   1>SPWeb web3 = site3.RootWeb;

   2>SPWebCollection allWebs = site3.AllWebs;

   3>SPWeb web4 = site3.AllWebs["webname"];

   4>SPWeb web5 = site3.OpenWeb("weburl");

由于网站集是操作网站、列表、库的根节点,所以首先要掌握好如何获取网站集SPSite对象的方法,在SharePoint 2010中基本可以分三种方法实例化SPSite对象。这三种方法在不同的场合有不同的获取方法。

获取到SPSite对象之后就可以在其下操作相应的对象了,比如:操作网站的SPWeb对象,操作列表的SPList对象等。

下面是完整的获取网站集对象SPSite的几种方法:

 
01 using System;
02 using System.Collections.Generic;
03 using System.Linq;
04 using System.Text;
05   
06 using Microsoft.SharePoint;
07   
08 namespace Example.SharePoint2010.ServerOM
09 {
10     /// <summary>
11     /// 网站集SPSite对象的使用
12     /// </summary>
13     public class SPSiteOM
14     {
15         public void SPSiteMethod()
16         {
17             SPSite site1 = new SPSite("http:/ /siteName");
18             SPWeb web1 = site1.RootWeb;
19             site1.Close();
20             site1.Dispose();
21             //使用绝对URL实例化SPSite对象
22             using (SPSite site2 = new SPSite("http:/ /siteName"))
23             {
24                 SPWeb web2 = site2.RootWeb;
25             }
26             //使用GUID实例化为SPSite对象
27             using (SPSite site3 = new SPSite(new Guid("ba3d975e-d956-43da-955b-52fcb1309313")))
28             {
29                 //获取根网站
30                 SPWeb web3 = site3.RootWeb;
31                 //获取网站集下的所有网站
32                 SPWebCollection allWebs = site3.AllWebs;
33                 //根据网站名称获取网站对象
34                 SPWeb web4 = site3.AllWebs["webname"];
35                 //根据网站URL获取网站对象
36                 SPWeb web5 = site3.OpenWeb("weburl");
37             }
38             //获取当前上下文的SPSite对象
39             SPSite site4 = SPContext.Current.Site;
40         }
41     }
42 }

==SPWeb对象的几种方法

using (SPSite site = new SPSite("http:/ /develop"))

02 {
03     //获取根网站SPWeb对象。
04     SPWeb web1 = site.RootWeb;
05     //获取根网站SPWeb对象。
06     SPWeb web2 = site.OpenWeb();
07     //根据网站URL地址名称获取SPWeb对象。
08     //如:http:/ /develop/StrUrlName
09     SPWeb web3 = site.OpenWeb("strUrlName");
10     //根据GUID值获取SPWeb对象。
11     SPWeb web4 = site.OpenWeb(new Guid("410CAFBB-23CA-4427-9A13-024C1CF624F5"));
12     //根据指定的名称获取SPWeb对象。
13     SPWeb web5 = site.AllWebs["项目组网站"];
14     //根据指定的索引号来获取SPWeb对象。
15     SPWeb web6 = site.AllWebs[0];
16     //获取代码运行的上下文中的SPWeb对象。
17     SPWeb web7 = SPContext.Current.Web;
18     //关闭SPWeb
19     web1.Close();
20     //释放SPWeb
21     web1.Dispose();
22     //使用using关键字则不需要释放
23     using (SPWeb web8 = site.RootWeb)
24     {
25         SPList list = web8.Lists[1];
26     }
27 }
原文地址:https://www.cnblogs.com/csj007523/p/2690790.html