我有一个共享点事件处理程序,我想为单个列表激活它,而不是站点中的所有列表。我该怎么做?
5052 次
6 回答
3
得到了答案。我们需要运行此代码,可能在控制台应用程序中。我仍然不知道如何在添加事件处理程序后删除它......
string siteUrl = Console.ReadLine();
SPSite site = new SPSite(siteUrl);
SPWeb web = site.OpenWeb();
string listName = Console.ReadLine();
SPList list = web.Lists[listName];
string assemblyName = "Issue.EventHandler, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=89fde668234f6b1d";
string className = "Issue.EventHandler.IssueEventHandler";
list.EventReceivers.Add(SPEventReceiverType.ItemUpdated, assemblyName, className);
于 2008-11-17T08:15:09.980 回答
2
只是那个列表还是每个站点中的那个列表?我一直在测试事件发生时运行的代码,并且我使用了来自 u2u 的一个不错的小工具,它允许我为每个列表添加或删除事件处理程序。
这篇 MSDN 文章是一本不错的入门读物。
于 2008-11-17T07:11:16.067 回答
2
另一种选择是“ SharePoint 事件管理器”。
事件管理器是 SharePoint 的一项功能,允许管理员直接使用浏览器管理附加到其站点列表和文档库的事件。
这个简单的功能可以通过列表设置菜单上的新项目来管理列表和文档库上的事件。
您可以查看、添加和删除事件,甚至可以从程序集名称中自动找到感兴趣的类和事件。
您可以在此处下载此功能,并使用“stsadm -o addolution -filename GatWeb.SharePoint.EventsManager.wsp”进行安装。
此功能已本地化为法语和英语。
于 2008-11-17T15:30:55.433 回答
1
您可以使用此代码删除事件处理程序:
for (int i = 0; i < olist.EventReceivers.Count; i++) {
olist.EventReceivers[i].Delete();
}
于 2011-07-06T13:23:48.287 回答
0
看看我之前发布的 u2u 工具附带的代码。当您使用事件处理程序时,它是一个方便的工具。
于 2008-11-17T08:58:37.597 回答