2009-01-27 6 views
7

Est-ce que quelqu'un sait comment mettre à jour par programme le contenu de l'un des composants WebPart SharePoint v3 standard? Par exemple, placez un composant WebPart de résumé de lien sur une page. Ajoutez des liens à celui-ci. Maintenant, comment puis-je mettre à jour cette information en utilisant l'API WSS? Je n'ai pas trouvé de moyen direct de le faire, ma seule idée jusqu'à présent est d'exporter le composant WebPart, puis de le supprimer, de modifier le XML généré et de l'importer de nouveau. Mais sûrement, il doit y avoir un moyen plus facile?Comment faire pour mettre à jour le contenu dans un composant WebPart SharePoint par programme?

+0

Que voulez-vous dire par "changer le contenu"? –

Répondre

9

Vous pouvez utiliser la classe SPLimitedWebPartManager pour manipuler des composants WebPart sur une page Web partie. Une instance de cette classe peut être obtenue à partir d'un objet SPFile comme suit:

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); 
} 

Vous pouvez également ajouter ou supprimer des composants avec le SPLimitedWebPartManager.

5

Vous aurez probablement besoin d'appeler SPWeb.GetWebPartCollection et utiliser la collection webpart au mess avec les WebParts thusly

+3

Notez que ceci est obsolète et remplacé par la réponse @Lars dans SP2010. – Russell

+0

yup. c'est obsolète ... – trgraglia

Questions connexes