SharePoint - nasazení EventReceiveru do SubWebu

Zadání

Potřebuji nasadit EventReceiver na konkrétní vlastní list v podwebu.

Postup

1) Založím novou Features akci Add Faeture
Vytvoří se např. následující kód.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Receivers ListTemplateId="100">
    <Receiver>
      <Name>MujListReceiverItemAdded</Name>
      <Type>ItemAdded</Type>
      <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
      <Class>MojeDLL.MujListReceiver</Class>
      <SequenceNumber>10000</SequenceNumber>
    </Receiver>
  </Receivers>
</Elements>

Po nasazení WSP balíčku se při aktivaci ER nastavaví na všechny vlastní listy.

2) Potřebuji ER nastavit na konkrétní list.

Provedu úprava souboru Element.XML

<Receivers ListUrl="Lists/MujList">

3) 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.

4) Řešením je úprava konfigurace

Projekt > Vlastnosti > Site URL > http://mujweb/ zmenit na  http://mujweb/subweb

Features > MojeFeatura > Vlastnosti > Activate On Default = false

Odkazy

http://notuserfriendly.wordpress.com/2013/11/28/add-an-event-receiver-to-a-specific-list-instance/

Comments are closed

O blogu

Tento blog je místem, kde sdílím své zkušenosti, části zdrojových kódů, odkazy apod. Zdroje jsou zaměřeny převážně na problematiku portálového řešení SharePoint a vývoj webů v prostředí Microsoft. Mým cílem není úplně obsahnout konkrétní řešení, ale pouze tu část, kterou potřebuji. Pokud se problematika obsáhlejší, jsou pod článkem odkazy na související informace.

O autorovi

Oldřich Zátopek
Zabývám se vývojem webových aplikací internet/intranet na Microsoft technologiích. Hlavní specializace je SharePoint. LinkedIn