2009-01-27 16 views
7

¿Alguien sabe cómo actualizar programáticamente el contenido de cualquiera de los elementos web estándar de SharePoint v3?¿Cómo actualizar el contenido de manera programática en un elemento web de SharePoint?

A modo de ejemplo, poner un elemento web Enlace Resumen de una página. Agregue algunos enlaces a él. Ahora, ¿cómo puedo actualizar esta información usando la API de WSS? No he encontrado ninguna manera directa de hacerlo, mi única idea hasta ahora es exportar el elemento web, (luego eliminarlo), modificar el XML generado e importarlo de nuevo. Pero seguramente, debe haber una manera más fácil?

+0

¿Qué quiere decir por "cambiar el contenido"? –

Respuesta

9

Puede utilizar la clase SPLimitedWebPartManager para manipular elementos Web en una página de elementos Web. Una instancia de esta clase se puede obtener de un objeto SPFile de la siguiente manera:

using (SPSite site = new SPSite("<site url>")) // e.g. http://server/sites/asite 
using (SPWeb web = site.OpenWeb()) 
{ 
    SPFile file = web.GetFile("<page url>"); // e.g. /sites/asite/default.aspx 
    SPLimitedWebPartManager lwpm = file.GetLimitedWebPartManager(); 
    SPLimitedWebPartCollection webParts = lwpm.WebParts; 
    WebPart wp = webParts[<id, index or Guid>]; 

    // Add your code to update the Web Part 

    lwpm.SaveChanges(wp); 
} 

También puede añadir o eliminar partes de la tela con el SPLimitedWebPartManager.

5

Es probable que tenga que llamar SPWeb.GetWebPartCollection y utilizar la colección webpart de meterse con los WebParts thusly

+3

Tenga en cuenta que esto está en desuso y reemplazado por la respuesta @Lars en SP2010. – Russell

+0

yup. esto es obsoleto ... – trgraglia

Cuestiones relacionadas