2009-01-27 17 views
7

Kann jemand den Inhalt eines der standardmäßigen SharePoint v3-Webparts programmatisch aktualisieren?Wie programmgesteuert aktualisieren Inhalt in einem SharePoint-Webpart?

Als Beispiel setzte auf einer Seite eine Link-Zusammenfassung-Webpart. Fügen Sie einige Links hinzu. Wie kann ich diese Informationen mithilfe der WSS-API aktualisieren? Ich habe keine direkte Möglichkeit gefunden, dies zu tun, meine einzige Idee ist bisher, das Webpart zu exportieren (dann lösche es), modifiziere das generierte XML und importiere es zurück. Aber sicherlich muss es einen leichteren Weg geben?

+0

Was meinen Sie mit "Inhalt ändern"? –

Antwort

9

Sie können die SPLimitedWebPartManager-Klasse verwenden, verwenden, um Webparts auf einer Webpartseite zu manipulieren. Eine Instanz dieser Klasse kann von einem SPFile Objekt erhalten werden, wie folgt:

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

Sie können auch Web-Teile mit dem SPLimitedWebPartManager hinzufügen oder löschen.

5

Sie werden wahrscheinlich brauchen SPWeb.GetWebPartCollection anrufen und die webpart Sammlung zu Chaos mit dem WebParts thusly

+3

Beachten Sie, dass dies veraltet ist und durch die Antwort von @Lars in SP2010 ersetzt wird. – Russell

+0

yup. das ist veraltet ... – trgraglia

Verwandte Themen