主要的几个顶级类库
命名空间Microsoft.SharePoint和Microsoft.SharePoint.Administration下的类型和成员可被用于管理列表和站点,也可用于管理一台运行Windows SharePoint Services的服务器或服务器场。这些命名空间中几个主要的顶级类库有:
n Microsoft.SharePoint.Administration.SPFarm
n Microsoft.SharePoint.Administration.SPWebService
n Microsoft.SharePoint.Administration.SPWebApplication
n Microsoft.SharePoint.SPSite
n Microsoft.SharePoint.SPWeb
通过使用这些类,我们就可以得到其他类的访问权,进而操作站点和列表,管理服务器,或管理整个部署。从其中一个类入手,我们就可以通过对象模型来获得想要的类。下面的表格对这些类给出了一个简要的描述。
Dim myList As SPList = myWeb.Lists("Tasks")
myList.Title = "New_Title"
myList.Description = "List_Description"
myList.Update()
C#
SPList myList = myWeb.Lists[“Tasks”];
myList.Title=“New_Title”;
myList.Description=“List_Description”;
myList.Update(); 注意:文档库中的文档如果处于签出状态时,那么无法通过调用SPListItem对象的Update方法来修改该文档的元数据。 集合
正如列表是SharePoint站点的核心一样,集合是其对象模型的核心。我们可以使用这些集合来添加,删除,枚举,更新某个对象。集合类通常都有以下特征:
l 具有一个以“Collection”结尾的名称。
l 实现了System..Collections.ICollection接口。
l 具有一个Count属性,Int32类型的。
l 具有一个Int32类型的索引器,用于获取集合中的某一项。
l 具有一个索引器来得到某一项的标识。
l 具有Add和Delete方法。
调用集合的Add方法通常会将数据更新回后端数据库,除非该更新操作还需要其他的信息。这时,调用Add方法会返回一个对象包括了需要搜集的信息。比如,添加一个列表项,首先使用Microsoft.SharePoint.SPListItemCollection类的Add方法来返回一个SPListItem对象,给对象某些属性赋予合适的值,然后调用Update方法使变更生效,进而保存到内容数据库。 索引器
索引器提供了一种有用的方式来访问集合中特定的项目。为了返回集合中的一个项目,在C#中使用方括号([])或在VB中使用圆括号(())来包含一个索引值或项目的标识字符串。
比如,如果mySite代表了一个SPWeb类的实例,那么SPList myList=mySite.Lists[“通知”]将返回通知列表(C# 。同样,VB中为Dim myList As SPList=mySite.Lists(“通知”))。然后,我们就可以通过列表对象的Items属性返回列表中所有的列表项(C#为,SPListItemCollection myItems=myList.Items,VB为,Dim myItems As SPListItemCollection = myList.Items)。如果要从列表中返回一个列表项的子集,我们可以调用列表对象的GetItems方法,并传递一个SPQuery对象来指定该子集:SPListItemCollection myItems=myList.GetItems(myQuery) (VB中,Dim myItems As SPListItemCollection = myList.GetItems(myQuery))。
我们可以使用索引器来返回列表中的一个特定项,进一步我们可以指定一个特定的字段名给该项的索引器来返回字段值:
VB
Dim myItem As SPListItem
For Each myItem In myItems
Response.Write(SPEncode.HtmlEncode(myItem("Due Date").ToString()) + "<BR>")
Response.Write(SPEncode.HtmlEncode(myItem("Status").ToString()) + "<BR>")
Response.Write(SPEncode.HtmlEncode(myItem("Title").ToString()) + "<BR>")
Next myItem C#
Dim myWeb As SPWeb = SPContext.Current.Web
Dim myTasks As SPList = myWeb.Lists("Tasks")
Dim myItems As SPListItemCollection = myTasks.Items
Dim myItem As SPListItem
For Each myItem In myItems
Response.Write(SPEncode.HtmlEncode(myItem("Title").ToString()) + " :: " _
& SPEncode.HtmlEncode(myItem("Status").ToString()) + "<BR>")
Next myItem C#