事件注册

上次修改时间: 2010年3月24日

适用范围: SharePoint Foundation 2010

在网站级别或网站集级别注册将用于实现筛选以响应事件的事件处理程序。

Receivers 元素可为列表项事件指定事件处理程序。

Elements

Receivers

Receiver

Assembly

Class

Data

      Filter 元素(事件)

Name

SequenceNumber

      SolutionId 元素(事件)

      Synchronization 元素(事件)

Type

示例

若要为列表事件注册事件处理程序,请在 \Template\Features 中创建一个文件夹,以包含用于指定功能的范围和 ID 的 Feature.xml 文件,和以前文件所引用的元素指令清单文件。

注册事件处理程序的 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 
    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>
    </Receiver>
  </Receivers>
</Elements>

事件处理程序的 .cs 文件可以使用 SharePoint Foundation 对象模型对事件进行响应。有关使用对象模型来创建自定义事件处理程序的信息,请参阅SharePoint Foundation 2010 中的事件

下面的示例定义错误消息的内容,以在用户尝试修改列表中的项时显示该错误消息。

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.";
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SharePoint

Namespace MS.Samples
    Public Class SimpleItemUpdateHandler
        Inherits SPItemEventReceiver
        Public Overrides Sub ItemUpdating(ByVal properties As SPItemEventProperties)
            properties.Status = SPEventReceiverStatus.CancelWithError
            properties.ErrorMessage = "Updating data is not supported."
        End Sub
    End Class
End Namespace

请参阅

任务

如何:创建事件处理程序功能

其他资源

SharePoint Foundation 2010 中的事件