SharePoint 2010: Cómo registrar un manejador de eventos en una única lista (I)!

A la hora de registrar un manejador de eventos para una lista de SharePoint, podemos forzar que este registro se aplique a una única lista (y no a todas las listas que se han creado de acuerdo a una cierta plantilla que es la opción por defecto disponible cuando creamos un manejador con la plantilla disponible en Visual Studio 2010). Para ello, tendremos que modificar el archivo elements.xml que describe el manejador:

   1: <?xml version="1.0" encoding="utf-8"?>

   2: <Elements xmlns="http://schemas.microsoft.com/sharepoint/">

   3:   <Receivers ListTemplateId="104" >

   4:       <Receiver>          

   5:         <Name>SCItemAddingRCItemAdding</Name>

   6:         <Type>ItemAdding</Type>

   7:         <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>

   8:         <Class>EventHandlerDemo.SCItemAddingRC.SCItemAddingRC</Class>

   9:         <SequenceNumber>10000</SequenceNumber>

  10:       </Receiver>

  11:   </Receivers>

  12: </Elements>

El cambio a realizar consiste en quitar el atributo ListTemplateId de la sección <Receivers y añadir el atributo ListUrl dónde especificaremos la Url de la lista en la que vamos a aplicar el manejador:

image

Con respecto a estos dos parámetros, comentaros que sólo podemos utilizar uno en el archivo elements.xml que con el cambio descrito quedaría de la siguiente forma (por ejemplo):

   1: <?xml version="1.0" encoding="utf-8"?>

   2: <Elements xmlns="http://schemas.microsoft.com/sharepoint/">

   3:   <Receivers ListUrl="Url Lista" >

   4:       <Receiver>          

   5:         <Name>SCItemAddingRCItemAdding</Name>

   6:         <Type>ItemAdding</Type>

   7:         <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>

   8:         <Class>EventHandlerDemo.SCItemAddingRC.SCItemAddingRC</Class>

   9:         <SequenceNumber>10000</SequenceNumber>

  10:       </Receiver>

  11:   </Receivers>

  12: </Elements>

Y hasta aquí llega este primer post sobre como registrar un manejador de eventos en una lista concreta.