如何:创建事件接收器

事件接收器是允许您针对有关 SharePoint 项(如列表或列表项)的事件做出响应的类。 当有人更改日历或从联系人列表中删除某个姓名时,将会触发事件接收器中的代码。

本帮助主题演示下列任务:

  • 向列表实例中添加事件接收器。

您需要以下组件来完成这些步骤:

还必须完成演练:创建自定义字段、内容类型、列表定义和列表实例主题中的过程。

添加事件接收器

演练:创建自定义字段、内容类型、列表定义和列表实例中创建的项目包含一个自定义字段、一个自定义列表定义(带有列表实例)和一个内容类型。 接下来,将向此项目中添加一个事件接收器。 下面的过程会将一个简单的事件处理程序(事件接收器)添加到列表实例中。

向列表实例中添加事件接收器

  1. 打开在演练:创建自定义字段、内容类型、列表定义和列表实例中创建的项目。

  2. 将事件接收器添加到此项目中。 为此,请单击**“解决方案资源管理器”中的项目节点,然后在“项目”菜单上选择“添加新项”**。

  3. 展开**“Visual C#”“Visual Basic”下的“SharePoint”节点,然后单击“2010”**。

  4. 在**“模板”窗格中,选择“事件接收器”**并将其命名为 TestEventReceiver1。

    这将显示**“SharePoint 自定义向导”**。

  5. 在**“选择事件接收器设置”页上,选择“列表项事件”**作为事件接收器类型。

  6. 将**“事件源项”设置为“CustomField1 - ListDefinition1”**。

  7. 在要处理的事件的列表中,选中**“已添加项”旁边的框,然后单击“完成”**。

  8. 新的事件接收器代码文件包含一个名为 ItemAdded 的方法。 将代码添加到此方法中,以便每当向联系人列表添加联系人时,就会使用**“Patient Name”(患者姓名)**字段的默认值“Scott Brown”。 为此,请将现有 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);
    }
    
  9. 按 F5 运行代码,并在 Web 浏览器中查看 SharePoint 网站。

  10. 在快速启动栏上,单击**“CustomField1 - ListInstance1”**。

    这是列表定义的列表实例。 请注意,**“Patient Name”(患者姓名)**字段不会显示为列表实例中的一个列。

  11. 单击页顶部的**“列表工具”选项卡中的“列表”,然后单击功能区上的“修改此视图”**按钮。

  12. 在可用的列名称列表中,选择**“Patient Name”(患者姓名),然后单击“确定”。 请注意,“Patient Name”(患者名称)**字段此时显示在列表实例中。

  13. 在页面顶部的**“列表工具”选项卡上,单击“项”,然后单击“新建项”**按钮以显示数据输入窗体。

  14. 在字段中输入数据,然后在列表实例的“新建项目”对话框中单击**“保存”**按钮。

    单击**“确定”后,“Patient Name”(患者姓名)**列中将自动填入“Scott Brown”。

请参见

其他资源

开发 SharePoint 解决方案