イベント レシーバーを作成する

イベント レシーバーを作成することによって、ユーザーがリストやリスト項目などの SharePoint 項目を操作したときに応答できます。 たとえば、ユーザーが予定表を変更するか、または連絡先リストから名前を削除したときに、イベント レシーバー内のコードをトリガーできます。 このトピックに従うことによって、リスト インスタンスにイベント レシーバーを追加する方法を学習できます。

次の手順を完了するには、Visual Studio と、Windows および SharePoint のサポートされるエディションがインストールされている必要があります。 この例には SharePoint プロジェクトが必要なため、トピック「チュートリアル: SharePoint のサイト列、コンテンツ タイプ、リストの作成」の手順を完了していることも必要です。

イベント レシーバーの追加

チュートリアル: SharePoint のサイト列、コンテンツ タイプ、リストの作成」で作成したプロジェクトには、カスタム サイト列、カスタム リスト、コンテンツ タイプが含まれています。 次の手順では、リストなどの SharePoint 項目で発生するイベントを処理する方法を示すために、リスト インスタンスに単純なイベント ハンドラー (イベント レシーバー) を追加することによってこのプロジェクトを拡張します。

リスト インスタンスにイベント レシーバーを追加するには

  1. チュートリアル: SharePoint のサイト列、コンテンツ タイプ、リストの作成」で作成したプロジェクトを開きます。

  2. ソリューション エクスプローラーで、Clinic という名前の SharePoint プロジェクト ノードを選択します。

  3. メニュー バーで [プロジェクト]>[新しい項目の追加] の順に選択します。

  4. [Visual C#] または [Visual Basic] のどちらかで、[SharePoint] ノードを展開し、[2010] 項目を選択します。

  5. [テンプレート] ウィンドウで、[イベント レシーバー] を選択し、それに TestEventReceiver1 という名前を付けてから [OK] ボタンを選択します。

    SharePoint カスタマイズ ウィザードが表示されます。

  6. [使用するイベント レシーバーの種類] 一覧で、[リスト項目イベント] を選択します。

  7. [イベント ソースとなる項目] 一覧で、[患者 (Clinic\Patients)] を選択します。

  8. [次のイベントを処理] 一覧で、[項目が追加されました] の横にあるチェック ボックスをオンにして [完了] ボタンを選択します。

    新しいイベント レシーバーのコード ファイルには、ItemAdded という名前の 1 つのメソッドが含まれています。 次の手順では、このメソッドにコードを追加して、既定ではすべての連絡先に Scott Brown という名前が付けられるようにします。

  9. 既存の ItemAdded メソッドを次のコードに置き換えてから、F5 キーを選択します。

    public override void ItemAdded(SPItemEventProperties properties)
    {
        properties.ListItem["Patient Name"] = "Scott Brown";
        properties.ListItem.Update();
        base.ItemAdded(properties);
    }
    

    このコードが実行され、SharePoint サイトが Web ブラウザーに表示されます。

  10. クイック起動バーで、[患者] リンクを選択してから [新しい項目の追加] リンクを選択します。

    新しい項目の入力フォームが開きます。

  11. フィールドにデータを入力し、[保存] ボタンを選択します。

    [保存] ボタンを選択すると、[患者名] 列が自動的に Scott Brown という名前に更新されます。