SharePoint: Como añadir programáticamente una Web Part “Custom” a una página (II)!

Si en este post os indicaba como añadir una Web Part personalizada al control de texto enriquecido, en esta ocasión vamos a ver como realizar lo mismo en una página de Web Parts. La filosofía es la misma, sólo que al agregar la Web Part simplemente especificamos la zona de Web Parts dónde vamos a añadir la Web Part y el orden:

   1: static void AddCustomWebPart()

   2: {

   3:     using (SPSite spsSitio = new SPSite("http://demo2010a:200/"))

   4:     {

   5:         using (SPWeb spwWeb = spsSitio.OpenWeb())

   6:         {

   7:             //WebPart Manager

   8:             SPWebPartPages.SPLimitedWebPartManager spwpmWebPartManager =

   9:                 spwWeb.GetLimitedWebPartManager("SitePages/ZonasTest.aspx",

  10:                     PersonalizationScope.Shared);

  11:  

  12:             //WebPart a añadir

  13:             WebPart wpToAdd = CreateWebPart(spwWeb, "SPSLWPDemos_SPSilverlightListInspectorWP.webpart", spwpmWebPartManager);

  14:  

  15:             //Guid para la WebPart

  16:             Guid storageKey = Guid.NewGuid();

  17:             string wpId = String.Format("g_{0}", storageKey.ToString().Replace('-', '_'));

  18:             wpToAdd.ID = wpId;

  19:  

  20:             //Página de WebParts

  21:             spwpmWebPartManager = spwWeb.GetLimitedWebPartManager("/Documentos%20compartidos/AJAXWebParts.aspx",

  22:                PersonalizationScope.Shared);

  23:  

  24:             spwpmWebPartManager.AddWebPart(wpToAdd, "Página Completa", 1);

  25:  

  26:             spwpmWebPartManager.Dispose();

  27:         }

  28:     }

  29: }

En cuanto a como saber las zonas de Web Parts disponibles para añadir una Web Part, no tenemos más que editar la página en cuestión y en seguida veremos las zonas perfectamente identificadas:

image