WSS3SDK之:如何在多个网站中添加或删除一个列表

我们可以通过SPListCollection类的Add方法添加一个列表到网站集内的多个网站中。
下面的例子将在每个网站里创建一个一般列表,列表的标题和描述信息来自两个textbox。SPSite类的AllWebs属性可用于返回当前站点集内所有网站的集合。
本样例假设在一个包含from的.aspx页面中有两个textbox。
VB
复制代码
Dim listTitle As String = TextBox1.Text.ToString()
Dim listDescription As String = TextBox2.Text.ToString()

Dim mySite As SPSite = SPContext.Current.Site
Dim allWebs As SPWebCollection = mySite.AllWebs
Dim web As SPWeb

For Each web In  allWebs
    
Dim allLists As SPListCollection = web.Lists
    allLists.Add(listTitle, listDescription, SPListTemplateType.GenericList)
Next web
复制代码

C#
复制代码
string listTitle = TextBox1.Text.ToString();
string listDescription = TextBox2.Text.ToString();

SPSite mySite 
= SPContext.Current.Site;
SPWebCollection allWebs 
= mySite.AllWebs;

foreach (SPWeb web in allWebs)
{
    SPListCollection allLists 
= web.Lists;
    allLists.Add(listTitle,listDescription, SPListTemplateType.GenericList);
}
复制代码
代码需要添加Microsoft.SharePoint命名空间。

如果想要从每个网站中删除一个列表,可以使用SPListCollection类的Delete方法。下面的代码利用循环嵌套来深入查找标题与文本框中输入的内容相匹配的列表。本样例假设在一个包含from的.aspx页面中有一个textbox。
VB
复制代码
Dim mySite As SPSite = SPContext.Current.Site
Dim allWebs As SPWebCollection = mySite.AllWebs
Dim web As SPWeb

For Each web In  allWebs
    
Dim allLists As SPListCollection = web.Lists
    
Dim i As Integer

    
For i = 0 To allLists.Count - 1
        
Dim list As SPList = allLists(i)

        
If list.Title = TextBox1.Text Then
            
Dim listGuid As Guid = list.ID
            allLists.Delete(listGuid)
        
End If
    
Next i
Next web
复制代码

C#
复制代码
SPSite mySite = SPContext.Current.Site;
SPWebCollection allWebs 
= mySite.AllWebs;

foreach (SPWeb web in allWebs)
{
    SPListCollection allLists 
= web.Lists;

    
for (int i=0; i<allLists.Count; i++)
    {
        SPList list 
= allLists[i];

        
if (list.Title == TextBox1.Text)
        {
            Guid listGuid 
= list.ID;
            allLists.Delete(listGuid);
        }
    }
}
复制代码
在本例中,SPList类的Title属性用于在每个网站的列表的集合中标识该列表,判断其是否与指定的标题相同。ID属性返回该列表的唯一标识(GUID),用于Delete方法的传参。
代码需要添加Microsoft.SharePoint命名空间。
posted @   Sunmoonfire  阅读(481)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2007-06-20 MSDN Visual系列:在MOSS中为Excel Services编写托管代码形式的用户定义函数
点击右上角即可分享
微信分享提示