SharePoint - Nasazení EventReceiveru do SubWebu
Zadání
Potřebuji nasadit EventReceiver na konkrétní vlastní list v podwebu.
Postup
- Založím novou Features akci Add Faeture
Vytvoří se např. následující kód.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
<Receivers ListTemplateId="100">
<Receiver>
<Name>MujListReceiverItemAdded</Name>
<Type>ItemAdded</Type>
<Assembly>$SharePoint.Project.AssemblyFullNamelt;/Assembly>
<Class>MojeDLL.MujListReceiver</Class>
<SequenceNumber>10000</SequenceNumber>
</Receiver>
</Receivers>
</Elements>
Po nasazení WSP balíčku se při aktivaci ER nastaví na všechny vlastní listy.
- Potřebuji ER nastavit na konkrétní list.
Provedu úpravu souboru Element.XML
<Receivers ListUrl="Lists/MujList">
- Konkrétní list není rootu webu, ale v podwebu
Při nasazování to hlásí chybu, že Feature nelze aktivovat, protože list není k dispozici.
- Řešením je úprava konfigurace
Projekt > Vlastnosti > Site URL > https://mujweb/ zmenit na https://mujweb/subweb
Features > MojeFeatura > Vlastnosti > Activate On Default = false
Odkazy
Add an Event Receiver to a specific list instance
https://notuserfriendly.wordpress.com/2013/11/28/add-an-event-receiver-to-a-specific-list-instance/