У меня есть приемник обновленных событий, который я хотел бы связать только с двумя библиотеками документов.
Раньше я связывал приемник событий с ListTemplateId="101". Итак, этот приемник событий срабатывал для всех библиотек документов! чего я не хотел, но я не смог избежать этого чисто. Поэтому в качестве обходного пути в первой строке кода я проверяю библиотеку, в которой вызывается приемник событий, и возвращаюсь, если это не была предполагаемая библиотека.
Затем я немного почитал о тегах receivers в elements.xml и обнаружил, что могу зарегистрировать несколько тегов receivers в elements.xml. Итак, я изменил 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>
Надеясь, что приемник событий будет связан только с этими двумя библиотеками документов. Но дело в том, что приемник событий привязывается только к DocLib1 (первые приемники в elements.xml)
Может ли кто-нибудь указать мне, возможно ли то, чего я пытаюсь достичь, с подходом, которому я следую, или мне следует изменить свой подход?
Спасибо
Амар