技术开发 频道

Sharepoint 2007 Sdk常用基础操作


【IT168技术文档】

  SPSite的使用

  SPSite作为网站集对应的对象模型,其主要的用处是获取某个特定的网站,它最常用的几个功能如下:

  „ 构造函数

  SPSite的构造函数有两种,分别以Site的url和Guid作为参数。

  在SharePoint对象模型中,大部分对象都拥有一个Guid作为它唯一的标识符,通过这个Guid可以获取该对象的实例,例如Site(SPSite)、Web(SPWeb)、列表(SPList)、视图(SPView)以及SPS中的区域(Area)、门户列表(AreaListing)等。但也有一些是采用整型作为标识符的,例如列表项(SPListItem)、角色(SPRole)和用户(SPUser)等。

  „ AllWebs属性

  该属性是一个SPWebCollection类型的变量,通过这个属性,便可以获取到该网站集中的所有网站,包括一个优异网站和它下面的所有子网站。然后通过以下三种形式之一,便可以得到某个特定的SPWeb的对象:

  · webs[int index]:根据在该集合中的下标获取一个Web;

  · webs[string url]:根据Web的相对url(相对于包含该网站的Site)获取Web;

  · webs[Guid guid]:根据唯一标识该Web的guid获取。

  在WSS对象模型中,集合(Collection)是一个比较重要的概念,它实际上是一种对象的存储方式(即.NET框架中集合的概念)。一般来说SPxxxCollection便是SPxxx这个类所对应的集合类,例如SPWebCollection、SPListCollection和SPFileCollection等。但是应该注意到的是,SPSiteCollection并不是包含在Microsoft.SharePoint命名空间中的类,而是在Microsoft.SharePoint.Administration这一命名空间中的,这也说明了Site的主要意义在于网站本身的管理,而非网站内容的管理。

  „ RootWeb属性

  该属性是一个SPWeb类型的变量,它所对应的对象是该网站集中的优异网站,通过它可以逐步获得该网站级中的层级结构。(关于优异网站和子网站的概念,请参考本书中“2.1.2Windows SharePoint 站点架构简介”部分。)

  „ OpenWeb函数

  该函数返回一个SPWeb类型的变量,通过该函数可以获得该网站集中一个特定的网站。它有以下三种使用形式:

  · OpenWeb():在命令行模式中,该方法返回网站级中的优异网站对象;但是在网络环境中使用该方法会有不同的效果,详见第11章11.3小节“WebPart编程中的对象模型”;

  · OpenWeb(Guid guid):返回该guid所对应的网站对象;

  · OpenWeb(string url):返回该url所对应的网站对象,注意该url为相对地址(相对于服务器根路径或者网站集根路径)。

  SPSite的基本使用。

  在这个示例中,展示了SPSite的基本用法,包括上面所提到的几个重要功能:
using System; using Microsoft.SharePoint; namespace WSSModelObject { class Example1_1 { [STAThread] static void Main(string[] args) { // 使用构造函数创建网站集对象 SPSite site = new SPSite("http://localhost"); // 获取根网站信息 Console.WriteLine("Root:" + site.RootWeb); // 遍历网站集中的所有网站 Console.WriteLine("All Webs in site:"); foreach(SPWeb web in site.AllWebs) { Console.WriteLine(web); } // 打开某个特定的网站 try { SPWeb web = site.OpenWeb("subweb1"); Console.WriteLine(web); } catch(Exception ex) { Console.WriteLine(ex.Message); } } } }
0
相关文章