イベント登録

リスト アイテムのイベントの応答用フィルタを実装するために使用するイベント ハンドラを、サイト レベルまたはサイト コレクション レベルで登録します。

Receivers 要素は、リスト アイテム イベントのイベント ハンドラを指定します。

Elements

  Receivers

    Receiver

      Name

      Type

      SequenceNumber

      Assembly

      Class

      Data

リスト イベントのイベント ハンドラを登録するには、フィーチャーの範囲と ID が指定された Feature.xml ファイルとこのファイルから参照される要素マニフェスト ファイルを格納するフォルダを \Template\Features に作成します。

イベント ハンドラを登録する Feature.xml ファイルの内容は、次のように記述します。

<Feature 
  Scope="Web" 
  Title="Simple Updating Item Event Handler Registration" 
  Id="A6B8687A-3200-4b01-AD76-09E8D163FB9A" 
  xmlns="https://schemas.microsoft.com/sharepoint/">
  <ElementManifests>
    <ElementManifest Location="elements.xml"/>
  </ElementManifests>
</Feature>

要素マニフェスト ファイルは、イベント ハンドラ アセンブリを登録して、リストの種類に関連付けます。次の例では、お知らせリスト (104) を指定しています。

<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <Receivers 
    ListTemplateOwner="ADDABAAA-1111-2222-3333-111111111111" 
    ListTemplateId="104">
    <Receiver>
      <Name>SimpleUpdateEvent</Name>
      <Type>ItemUpdating</Type>
      <SequenceNumber>10000</SequenceNumber>
      <Assembly>SimpleUpdateEventHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=10b23036c9b36d6d</Assembly>
      <Class>MS.Samples.SimpleItemUpdateHandler</Class>
      <Data></Data>
      <Filter></Filter>
    </Receiver>
  </Receivers>
</Elements>

イベント ハンドラの .cs ファイルでは、Windows SharePoint Services オブジェクト モデルを使用してイベントに応答できます。オブジェクト モデルを使用してカスタム イベント ハンドラを作成する方法の詳細については、「イベントの基礎」を参照してください。

次の例では、ユーザーがリスト内のアイテムを変更しようとしたときに表示されるエラー メッセージの内容を定義しています。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;

namespace MS.Samples
{
    public class SimpleItemUpdateHandler : SPItemEventReceiver
    {
        public override void ItemUpdating(SPItemEventProperties properties)
        {
            properties.Cancel = true;
            properties.ErrorMessage = "Updating data is not supported.";
        }
    }
}

See Also

タスク

[方法] イベント ハンドラ フィーチャーを作成する

その他のリソース

イベントの基礎