SPListCollection 类
表示SPList对象的集合。
继承层次结构
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPListCollection
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Class SPListCollection _
Inherits SPBaseCollection
用法
Dim instance As SPListCollection
public class SPListCollection : SPBaseCollection
备注
使用SPWeb类的Lists属性返回一个SPListCollection对象,表示网站中的列表的集合,或使用SPList类的Lists属性返回一个SPListCollection对象,代表列表的父列表的集合。若要创建列表,使用SPListCollection的Add方法之一。
使用索引器从集合中返回一个单独的列表。例如,假定该集合分配给名为collLists的变量,使用在 C# collLists[index]或collLists(index) Visual Basic,其中index是在集合中,显示名称列表的列表的编号或 GUID 的列表中。
如果正在运行代码的用户拥有完全权限的列表,但网站没有权限,可以使用 GUID 索引器返回一个列表,从该网站中的列表的集合。否则,因为用户不允许枚举集合的列表,就这样做的名称索引器使用时,则返回拒绝访问错误消息。GUID 索引器允许直接访问该项目,因为 GUID 是列表Microsoft SharePoint Foundation数据库的表中的主键。
示例
下面的代码示例循环访问网站集中的所有网站的所有列表,并显示每个列表和站点的名称。本示例假定存在的.aspx 页,其中包含一个标签控件。
此示例要求using指令 (在 Visual Basic 中的Imports ) 的Microsoft.SharePoint和Microsoft.SharePoint.Utilities的命名空间。
Dim site As SPSite = SPControl.GetContextSite(Context)
Dim allSites As SPWebCollection = site.AllWebs
Dim subSite As SPWeb
For Each subSite In allSites
Dim allSiteLists As SPListCollection = subSite.Lists
Dim subSiteList As SPList
For Each subSiteList In allSiteLists
Label1.Text += SPEncode.HtmlEncode(subSite.Name) & " :: " & _
SPEncode.HtmlEncode(subSiteList.Title) & "<BR>"
Next subSiteList
Next subSite
SPSite oSiteCollection = SPContext.Current.Site;
using(SPWebCollection collWebs = oSiteCollection.AllWebs)
{
foreach (SPWeb oWebsite in collWebs)
{
SPListCollection collSiteLists = oWebsite.Lists;
foreach (SPList oList in collSiteLists)
{
Label1.Text += SPEncode.HtmlEncode(oWebsite.Name) + " :: " +
SPEncode.HtmlEncode(oList.Title) + "<BR>";
}
oWebsite.Dispose();
}
}
备注
某些对象实现IDisposable接口,并必须避免后不再需要保留这些对象在内存中。好的编码做法有关的信息,请参阅Disposing Objects。
线程安全性
该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。