【发布时间】:2017-09-22 16:48:25
【问题描述】:
我有一个项目更新事件接收器,我只想将它与 2 个文档库相关联。
之前我将事件接收器与 ListTemplateId="101" 相关联。所以这个事件接收器正在为所有文档库触发!这是我不想要的,但我无法干净地避免它。因此,作为第一行代码中的一种解决方法,我检查调用事件接收器的库,如果它不是预期的库,则返回。
然后我阅读了一些关于elements.xml中的receivers标签,发现我可以在elements.xml中注册多个receivers标签。所以我改变了elements.xml,如下所示
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListUrl="DocLib1">
<Receiver>
<Name>EventReceiver1ItemAdded</Name>
<Type>ItemAdded</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>NM1.EventReceiver1.EventReceiver1</Class>
<SequenceNumber>10000</SequenceNumber>
<Synchronization>Synchronous</Synchronization>
</Receiver>
</Receivers>
<Receivers ListUrl="DocLib2">
<Receiver>
<Name>EventReceiver1ItemAdded</Name>
<Type>ItemAdded</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>NM1.EventReceiver1.EventReceiver1</Class>
<SequenceNumber>10000</SequenceNumber>
<Synchronization>Synchronous</Synchronization>
</Receiver>
</Receivers>
</Elements>
希望事件接收器仅与这 2 个文档库相关联。但事实是事件接收器仅附加到 DocLib1(elements.xml 中的第一个 receivers)
如果我正在努力实现的目标可以通过我遵循的方法实现,或者我应该改变我的方法,有人可以指导我吗?
谢谢
阿马尔
【问题讨论】:
标签: xml sharepoint elements event-receiver