创建事件接收器

通过创建事件接收器,你可以在用户与 SharePoint 项(如列表或列表项)交互时做出响应。 例如,当用户更改日历或删除联系人列表中的名称时,可以触发事件接收器中的代码。 使用以下主题,可以了解如何向列表实例添加事件接收器。

若要完成这些步骤,必须已安装 Visual Studio 和支持的 Windows 和 SharePoint 版本。 由于此示例需要 SharePoint 项目,因此还必须已完成演练:创建 SharePoint 的网站栏、内容类型和列表主题中的过程。

添加事件接收器

演练:创建 SharePoint 的网站栏、内容类型和列表中创建的项目包括自定义网站栏、自定义列表和内容类型。 在下面的过程中,你将通过将一个简单的事件处理程序(事件接收器)添加到列表实例中来扩展此项目,演示如何处理 SharePoint 项(如列表)中发生的事件。

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

  1. 打开在演练:创建 SharePoint 的网站栏、内容类型和列表中创建的项目。

  2. 在“解决方案资源管理器”中,选择名为“Clinic”的 SharePoint 项目节点。

  3. 在菜单栏上,依次选择“项目”>“添加新项”。

  4. 在“Visual C#”或“Visual Basic”下,展开“SharePoint”节点,然后选择“2010”项。

  5. 在“模板”窗格中,选择“事件接收器”,将其命名为“TestEventReceiver1”,然后选择“确定”按钮。

    “SharePoint 自定义向导”随即出现。

  6. 在“需要哪种类型的事件接收器?”列表中,选择“列表项事件”。

  7. 在“哪个项应为事件源?”列表中,选择“患者(诊所\患者)”。

  8. 在“处理以下事件”列表中,选中“已添加项”旁边的复选框,然后选择“完成”按钮。

    新事件接收器的代码文件包含名为 ItemAdded 的单个方法。 下一步,你将向此方法添加代码,以便默认情况下将每个联系人都命名为 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。