HOW TO:建立事件接收器
事件接收器是一種類別,可讓您回應 SharePoint 項目 (如清單或清單項目) 所發生的事件。 當有人變更行事曆或從連絡人清單刪除姓名時,就會觸發事件接收器中的程式碼。
本 HOW TO 示範下列工作:
- 將事件接收器加入至清單執行個體。
您需要下列元件才能完成這些步驟:
支援的 Microsoft Windows 和 SharePoint 版本。 如需詳細資訊,請參閱開發 SharePoint 方案的要求。
Visual Studio 2010。
您也必須完成逐步解說:建立自訂欄位、內容類型、清單定義及清單執行個體主題中的程序。
加入事件接收器
您在逐步解說:建立自訂欄位、內容類型、清單定義及清單執行個體中建立的專案包含自訂欄位、自訂清單定義、該清單的執行個體和內容類型。 接下來,您將在該專案中加入事件接收器。 在下列程序中,會將簡單的事件處理常式 (事件接收器) 加入至清單執行個體。
若要將事件接收器加入至清單執行個體
開啟您在逐步解說:建立自訂欄位、內容類型、清單定義及清單執行個體中建立的專案。
將事件接收器加入至此專案。 若要這麼做,請按一下 [方案總管] 中的專案節點,然後選取 [專案] 功能表上的 [加入新項目]。
展開 [Visual C#] 或 [Visual Basic] 底下的 [SharePoint] 節點,然後按一下 [2010]。
選取 [範本] 窗格中的 [事件接收器],將它命名為 TestEventReceiver1。
[SharePoint 自訂精靈] 隨即出現。
在 [選擇事件接收器] 頁面上,選取 [清單項目事件] 做為事件接收器類型。
將 [事件來源項目] 設定為 CustomField1 - ListDefinition1。
在要處理的事件清單中,選取 [已加入一個項目] 旁的方塊,然後按一下 [完成]。
新的事件接收器程式碼檔包含一個名為 ItemAdded 的方法。 將程式碼加入至此方法,以便每次有連絡人加入至連絡人清單時,即會使用 Scott Brown 的預設 [Patient Name] 值。 若要這麼做,請將現有的 ItemAdded 方法取代成下列方法:
Public Overrides Sub ItemAdded(ByVal properties As SPItemEventProperties) properties.ListItem("Patient Name") = "Scott Brown" properties.ListItem.Update() MyBase.ItemAdded(properties) End Sub
public override void ItemAdded(SPItemEventProperties properties) { properties.ListItem["Patient Name"] = "Scott Brown"; properties.ListItem.Update(); base.ItemAdded(properties); }
按 F5 鍵,執行程式碼並在 Web 瀏覽器中檢視 SharePoint 網站。
按一下快速啟動列上的 [CustomField1 - ListInstance1]。
這是清單定義的清單執行個體。 請注意,[Patient Name] 欄位尚未出現在清單執行個體中當成資料行。
按一下頁面頂端 [清單工具] 索引標籤中的 [清單],然後按一下功能區上的 [修改此檢視] 按鈕。
在可用的資料行名稱清單中,選取 [Patient Name],然後按一下 [確定]。 請注意,[Patient Name] 欄位現在會出現在清單執行個體中。
按一下頁面頂端 [清單工具] 索引標籤中的 [項目],然後按一下 [新增項目] 按鈕來顯示資料輸入表單。
在欄位中輸入資料,然後在清單執行個體的新增項目對話方塊中按一下 [儲存] 按鈕。
在按一下 [確定] 之後,[Patient Name] 資料行便會自動填入 Scott Brown。