WSS3SDK之:如何在多個網站中添加或刪除一個列表

來源:互聯網
上載者:User
我們可以通過 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命名空間。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.