イベント レシーバーを作成する
イベント レシーバーを作成することによって、ユーザーがリストやリスト項目などの SharePoint 項目を操作したときに応答できます。 たとえば、ユーザーが予定表を変更するか、または連絡先リストから名前を削除したときに、イベント レシーバー内のコードをトリガーできます。 このトピックに従うことによって、リスト インスタンスにイベント レシーバーを追加する方法を学習できます。
次の手順を完了するには、Visual Studio と、Windows および SharePoint のサポートされるエディションがインストールされている必要があります。 この例には SharePoint プロジェクトが必要なため、トピック「チュートリアル: SharePoint のサイト列、コンテンツ タイプ、リストの作成」の手順を完了していることも必要です。
イベント レシーバーの追加
「チュートリアル: SharePoint のサイト列、コンテンツ タイプ、リストの作成」で作成したプロジェクトには、カスタム サイト列、カスタム リスト、コンテンツ タイプが含まれています。 次の手順では、リストなどの SharePoint 項目で発生するイベントを処理する方法を示すために、リスト インスタンスに単純なイベント ハンドラー (イベント レシーバー) を追加することによってこのプロジェクトを拡張します。
リスト インスタンスにイベント レシーバーを追加するには
「チュートリアル: SharePoint のサイト列、コンテンツ タイプ、リストの作成」で作成したプロジェクトを開きます。
ソリューション エクスプローラーで、Clinic という名前の SharePoint プロジェクト ノードを選択します。
メニュー バーで [プロジェクト]>[新しい項目の追加] の順に選択します。
[Visual C#] または [Visual Basic] のどちらかで、[SharePoint] ノードを展開し、[2010] 項目を選択します。
[テンプレート] ウィンドウで、[イベント レシーバー] を選択し、それに TestEventReceiver1 という名前を付けてから [OK] ボタンを選択します。
SharePoint カスタマイズ ウィザードが表示されます。
[使用するイベント レシーバーの種類] 一覧で、[リスト項目イベント] を選択します。
[イベント ソースとなる項目] 一覧で、[患者 (Clinic\Patients)] を選択します。
[次のイベントを処理] 一覧で、[項目が追加されました] の横にあるチェック ボックスをオンにして [完了] ボタンを選択します。
新しいイベント レシーバーのコード ファイルには、
ItemAdded
という名前の 1 つのメソッドが含まれています。 次の手順では、このメソッドにコードを追加して、既定ではすべての連絡先に Scott Brown という名前が付けられるようにします。既存の
ItemAdded
メソッドを次のコードに置き換えてから、F5 キーを選択します。public override void ItemAdded(SPItemEventProperties properties) { properties.ListItem["Patient Name"] = "Scott Brown"; properties.ListItem.Update(); base.ItemAdded(properties); }
このコードが実行され、SharePoint サイトが Web ブラウザーに表示されます。
クイック起動バーで、[患者] リンクを選択してから [新しい項目の追加] リンクを選択します。
新しい項目の入力フォームが開きます。
フィールドにデータを入力し、[保存] ボタンを選択します。
[保存] ボタンを選択すると、[患者名] 列が自動的に Scott Brown という名前に更新されます。