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

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s