我們可以建立自訂WebPart來與網站和列表資料共同運作。本編程任務將展示如何建立一個簡單的Web Part來尋找當前網站下所有包含10條以上資料的列表,並顯示其標題和清單項目數量。
步驟
1、建立一個WebPart。這裡假設你已經建立好了一個名為SimpleWebPart的應用程式。
2、在SimpleWebPart應用程式中開啟WebCustomControl1.cs或.vb,添加如下的命名空間引用。
VB
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Utilities
C#
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
3、例子中原有的移除HtmlControl對象,以及對應的的變數聲明,_mybutton_click事件,CreateChildControls方法等。
4、用下面的代碼替換RenderWebPart方法中的內容:
VB
Dim mySite As SPWeb = SPContext.Current.Web
output.Write(SPEncode.HtmlEncode(mySite.Title))
Dim subSites As SPWebCollection = mySite.Webs
Dim site As SPWeb
For Each site In subSites
output.Write(SPEncode.HtmlEncode(site.Title) & "<BR>")
Dim lists As SPListCollection = site.Lists
Dim list As SPList
For Each list In lists
If list.ItemCount > 10 Then
output.Write(SPEncode.HtmlEncode(list.Title) & " :: "
& list.ItemCount & "<BR>")
End If
Next list
Next site
C#
SPWeb mySite = SPContext.Current.Web;
output.Write(SPEncode.HtmlEncode(mySite.Title));
SPWebCollection subSites = mySite.Webs;
foreach(SPWeb site in subSites)
{
output.Write(SPEncode.HtmlEncode(site.Title) + "<BR>");
SPListCollection lists=site.Lists;
foreach(SPList list in lists)
{
if (list.ItemCount>10)
{
output.Write(SPEncode.HtmlEncode(list.Title) + " : " +
list.ItemCount + "<BR>");
}
}
}
上面的範例程式碼首先輸出當前網站的標題,接著遍曆所有的子網站並列印其標題,然後遍曆該網站下所有的列表,找出清單項目數量大於10的列表,列印其標題和項數。
5、在Build菜單中,點擊Build Solution來編譯該WebPart。
6、在web.config檔案中提升WSS的信任層級。
web.config檔案通常位於\\Inetput\wwwroot\wss\VirtualDirectories\80下。找到下面的行:
<trust level="WSS_Minimal" originUrl="" />
將其替換為:
<trust level="WSS_Medium" originUrl="" />
7、重啟IIS,使對信任層級的更改生效。
在任何一個Web組件頁或首頁中拖入該WebPart,就可以看到顯示的列表結果了。