为SharePoint添加Event Receiver

为列表类型绑定Event Receiver可以通过添加一个feature, 并在feature中添加一个receiver element来完成.

具体详见SharePoint中的EventReceiver 之二 绑定Event Receiver到列表类型或列表实例.

 

除了可以为列表类型添加event receiver以外, MOSS 2007还可以在如下的三种对象的实例上添加Event Receiver.

  • SPList
  • SPContentType
  • SPWeb

为他们添加event receiver可以通过SharePoint Object Model来完成, 核心代码为以下的函数调用.

SPEventReceiverDefinitionCollection.Add 

 

有一个免费的为sharepoint中的列表, contenttype, 站点添加event receiver的工具, 非常好用. 点击这里下载可执行文件和源代码.

 

添加的关键代码片段如下:

if (node.Tag is SPList)
{
    SPList list = (SPList)node.Tag;
    list.EventReceivers.Add
        ((SPEventReceiverType)Enum.Parse(typeof(SPEventReceiverType), comboBoxEventType.Text),
         textBoxAssemlby.Text, comboBoxClasses.Text);
    list.Update();
    flag = true;
}
if (node.Tag is SPContentType)
{
    SPContentType ct = (SPContentType)node.Tag;
    ct.EventReceivers.Add
        ((SPEventReceiverType)Enum.Parse(typeof(SPEventReceiverType), comboBoxEventType.Text),
         textBoxAssemlby.Text, comboBoxClasses.Text);
    ct.Update();
    flag = true;
}
if (node.Tag is SPWeb)
{
    SPWeb w = (SPWeb)node.Tag;
    w.EventReceivers.Add
        ((SPEventReceiverType)Enum.Parse(typeof(SPEventReceiverType), comboBoxEventType.Text),
         textBoxAssemlby.Text, comboBoxClasses.Text);
    w.Update();
    flag = true;
}

 

移出的关键代码如下:

TreeNode node = treeViewItems.SelectedNode;
SPEventReceiverDefinition er = (SPEventReceiverDefinition)node.Tag;
if (MessageBox.Show("Are you sure you want to remove this event handler?", "Event Handler Explorer", 
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
    er.Delete();

 

下面的连接有介绍使用方法.

 

Free Tool: Register Event Handlers Programmatically (WSS 2007)

http://www.u2u.info/Blogs/Patrick/Lists/Posts/Post.aspx?ID=1547

posted on   中道学友  阅读(1292)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2010年2月 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 1 2 3 4 5 6
7 8 9 10 11 12 13

技术追求准确,态度积极向上

点击右上角即可分享
微信分享提示