2009-06-05 9 views
1

In einem SharePoint 2007-Webpart möchte ich eine vorhandene Eigenschaft löschen und sie durch eine Eigenschaft mit einem anderen Namen ersetzen. Ich möchte den Wert von der vorhandenen Eigenschaft abrufen und sie der neuen Eigenschaft zuweisen.So ändern Sie Werte für Webparteigenschaften

Wie soll ich das tun?

Antwort

2

Zusammengefasst:

  • einen Verweis auf die Seite Holen Sie sich das Webpart enthält.
  • Erhalten Sie einen Verweis auf den Webpart selbst.
  • Ändern Sie den Eigenschaftswert.
  • Speichern Sie die Änderung.

In Code:

using (SPSite site = new SPSite("http://sharepoint")) 
using (SPWeb web = site.OpenWeb("Web Title")) 
using (SPLimitedWebPartManager webPartManager = 
     web.GetLimitedWebPartManager("default.aspx", PersonalizationScope.Shared)) 
{ 
    try 
    { 
     foreach (WebPart webPart in webPartManager.WebParts) 
     { 
      if ((webPart.Title == "Web Part Title") && (!webPart.IsClosed)) 
      { 
       YourWebPart wp = (YourWebPart)webPart; 
       wp.NewProperty = wp.OldProperty; 
       webPartManager.SaveChanges(wp); 
       web.Update(); 
       break; 
      } 
     } 
    } 
    finally 
    { 
     webPartManager.Web.Dispose(); 
    } 
} 

Ersetzen Sie den folgenden in diesem Codebeispiel:

  • "http://sharepoint" - die Adresse Ihrer Sharepoint-Website
  • „Web Titel " - der Titel des SharePoint w eb das Webpart enthält, geändert werden (oder eine der anderen OpenWeb Überlastungen verwenden
  • „default.aspx“ - Dateiname der Seite, um die Webparts
  • „Web Part Titel“ enthalten - Titel gegeben die Webpart auf der Seite
  • YourWebPart - Klassenname des Webparts ändern
  • NewProperty/OldProperty - Namen der Eigenschaften
sich ändern
+0

Wird dies benötigt, wenn ich den Eigenschaftswert innerhalb des Webparts ändern möchte? Ich erteile einen modalen Dialog, der die Webpart-Bearbeitungsseite aktualisiert. Ich kann diesen Wert auf PreRender oder einer anderen Funktion erhalten und möchte diesen Wert für eine benutzerdefinierte Eigenschaft speichern, die ich erstellt habe. – nhenrique

Verwandte Themen