SharePoint 2010: Controles delegados (II)!

De la misma forma que podemos personalizar un control delegado existente, podemos sustituirlo de forma completa. El procedimiento sería el siguiente:

  • En VS 2010 creamos un proyecto de tipo “Empty SharePoint Project”. Elegimos como tipo de despliegue “Deploy as farm solution”.
  • Añadimos la carpeta mapeada ControlTemplates al proyecto.
  • Añadimos dentro de la carpeta mapeada una carpeta con el mismo nombre del proyecto. Añadimos en dicha carpeta un elemento de tipo User Control con el mismo nombre que le hemos dado al proyecto.
  • Diseñamos el control en cuestión. Por ejemplo, le añadimos un simple elemento de tipo LinkButton.
image image image
  • Nos vamos a la vista de código del control y lo codificamos de forma adecuada a nuestras necesidades:
   1: using System;

   2: using System.Web.UI;

   3: using System.Web.UI.WebControls;

   4: using System.Web.UI.WebControls.WebParts;

   5:  

   6: //Espacios de nombres necesarios

   7: using Microsoft.SharePoint;

   8:  

   9: namespace SPReplaceDelegateControl.CONTROLTEMPLATES

  10: {

  11:     public partial class SPReplaceDelegateControl : UserControl

  12:     {

  13:         protected void Page_Load(object sender, EventArgs e)

  14:         {

  15:         }

  16:  

  17:         protected void lnkGoToSearch_Click(object sender, EventArgs e)

  18:         {

  19:             SPWeb spwWeb = SPContext.Current.Web;

  20:             this.lnkGoToSearch.PostBackUrl =

  21:                 spwWeb.Url +

  22:                 "/Shared%20Documents/Search.aspx";

  23:         }

  24:     }

  25: }

  • Añadimos al proyecto un elemento de tipo “Empty Element” que configuraremos para re-emplazar el control delegado en cuestión. En el correspondiente archivo elements.xml únicamente tenemos que configurar el elemento <Control> de forma adecuada, indicando el Id del control a reemplazadar, el número de secuencia y la ruta del control que le reemplaza.
   1: <?xml version="1.0" encoding="utf-8"?>

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

   3:     <Control Id="SmallSearchInputBox"

   4:              Sequence="10"

   5:              ControlSrc="~/_controltemplates/SPReplaceDelegateControl/SPReplaceDelegateControl.ascx">        

   6:     </Control>

   7: </Elements>

  • Realizados los pasos anteriores, hacemos el despliegue de la correspondiente solución y comprobamos que el re-emplazo se ha realizado con éxito.

image

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

Un comentario sobre “SharePoint 2010: Controles delegados (II)!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *