程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> moss 開發自定義WebPart

moss 開發自定義WebPart

編輯:關於C#
 

介紹了WSS v3中WebPart的基本情況。本文將介紹創建ASP風格的WebPart。最簡單的步驟為創建一個類繼承自System.Web.UI.WebControls.WebPart類,覆蓋(override)方法RenderContents。如果您想要繼續為WebPart增加屬性(property),可以使用在ASP.NET中相同的辦法。如下面的代碼顯示了一個登錄後的用戶名。本例假設Visual Studio 2005,Microsoft Office SharePoint Server(MOSS) 2007和WSS v3安裝在同一台機器上。

1、首先,打開Visual Studio 2005.

我們將使用類庫項目來創建ASP風格的WebPart。點擊文件--〉新建項目。在項目類型中選擇Visual C#,模板中選類庫(Class Library)。在名稱出輸入TestWebParts。選擇合適的保存路徑。完成後點擊確定。
 

2、添加對System.Web.dll的引用

在Solution Explorer中右鍵點擊引用(References),選擇添加引用。

選擇.NET標簽下的System.Web,將其添加到引用。
 


 

3、添加必須的命名空間

添加下面的命名空間

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;


 

4、繼承自類System.Web .UI.WebControls.WebPart

將Class1.cs重命名為SimpleWebPart,並添加繼承System.Web.UI.WebControls.WebParts來創建ASP風格的WebPart。代碼如下:
 

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls.WebParts;
namespace TestWebParts
{
public class SimpleWebPart:WebPart
{
protected override void RenderContents(HtmlTextWriter writer)
{
writer.Write(this.Context.User.Identity.Name);

}
}
}

我們必須重寫RenderContents方法。如上所示。RenderContents方法將根據其參數writer所指定的內容來展示WebPart。writer參數是一個HtmlTextWriter,用於描述將要顯示到客戶端浏覽器中的HTML內容。

如果我們的WebPart中包含有子控件,我們還需要在這裡調用基類的RenderContents方法或者在我們想要顯示子控件的地方調用基類的RenderChildren方法,將子控件的內容輸出到writer。

上面的WebPart定義說明該代碼並不依賴於Microsoft.SharePoint.dll。所以它既可以被用在ASP.NET應用程序中,也可以用在WSS v3站點。不過在大多數情況下,我們還是要在自定義WebPart中添加對Microsoft.SharePoint.dll的引用,因為這樣就可以使用WSS v3提供的對象模型了。

除支持ASP風格的WebPart外,WSS v3同時被設計為可以支持WSS v2環境下創建的WebPart。舊的WSS風格WebPart繼承自Microsoft.SharePoint.dll中的WebPart基類,它是定義在Microsoft.SharePoint.WebPartPages命名空間下的。

在WSS v2中的Microsoft.SharePoint.dll的WebPart類是繼承自ASP.NET的Control類。如下圖所示。

但是,同時我們也可以看到,WSS v3中Microsoft.SharePoint.dll的WebPart類被修改為繼承自ASP.NET的WebPart類。這種將一個組件的基類改為較新的版本的技術(versioning technique)就是rebasing。對Microsoft.SharePoint.dll中的WebPart類的rebasing是使WSS v3環境支持老的WSS風格WebPart的關鍵。

如果查看一個WSS v3應用程序裡的標准的Web.config文件,我們將發現裡面包括了重新定向WSS v2的Microsoft.SharePoint.dll到WSS v3版的Microsoft.SharePoint.dll的配置元素。這個重定向與上面所說的rebasing配合起來共同保障了WSS v2環境下所寫的WebPart的Dll運行在WSS v3環境中,而不必做任何的改動。

因此,如果我們想要將一個WSS v2的WebPart項目轉移到Visual Studio 2005中,我們可以使用與從前相同的方式繼續擴充我們的代碼,還是可以繼續運行。同時,在轉移到Visual Studio 2005時,我們還可以選擇將項目中對Microsoft.SharePoint.dll的引用切換到WSS v3的版本。這樣,該項目的WebPart就會轉到上圖右側的WSS v3體系中。
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved