Hier finden Sie die Werte aus der Toolpart in den Eigenschaften des webpart speichern müssen. Zum Beispiel kann sagen, dass ich eine Zeichenfolge für „Titel“ ... in der webpart definiert eine Eigenschaft speichern möge:
private const string DEFAULT_WPPColumnTitle = "Title";
private string _WPPColumnTitle = DEFAULT_WPPColumnTitle;
[Browsable(false)]
[WebPartStorage(Storage.Shared)]
public string WPPColumnTitle
{
get { return this._WPPColumnTitle; }
set { this._WPPColumnTitle = value; }
}
ich immer mit dem Präfix „WPP“ all w eb p zu halten Kunst p Eigenschaften zusammen.
Dann wird in der ApplyChanges
Überschreibung des Toolpart, den Wert des Steuer sparen (_ddlColumnsTitle) zum webpart (WPPColumnTitle):
/// <summary>
/// Called by the tool pane to apply property changes to
/// the selected Web Part.
/// </summary>
public override void ApplyChanges()
{
// get our webpart and set it's properties
MyCustomWebPart et = (MyCustomWebPart)ParentToolPane.SelectedWebPart;
et.WPPColumnTitle = _ddlColumnsTitle.SelectedValue;
}
Schließlich, wenn der Benutzer bereits die Eigenschaften bearbeitet, wollen wir die Toolpart pre werden -gefüllt mit der Konfiguration des Benutzers. Im CreateChildControls()
Methode Ihrer Toolpart, initialisieren die Kontrollen:
protected override void CreateChildControls()
{
try
{
MyCustomWebPart et = (MyCustomWebPart)ParentToolPane.SelectedWebPart;
// ... code to create _ddlColumnsTitle and add it to the Controls
// default our dropdown to the user's selection
ListItem currentItem = _ddlColumnsTitle.Items.FindByValue(et.WPPColumnTitle);
if (null != currentItem)
{
_ddlColumnsTitle.SelectedValue = currentItem.Value;
}
}
catch (Exception ex)
{
_errorMessage = "Error adding edit controls. " + ex.ToString();
}
}
Ich habe das schon. Aber mein Problem ist, wenn ich mich bewerbe, oder ok drücke, und dann zum Bearbeitungsmodus meines Webpart zurückgehe, sind alle meine Eigenschaften zurück Standard ... Vielleicht muss ich eine Funktion in meinem Webpart überschreiben, wenn ich in den Bearbeitungsmodus gehe? – RubenHerman
Erm - hast du immer noch das Problem? Antwort ist als richtig markiert, also nicht sicher. – Ryan
@Ruben, Sorry vergessen den Teil über die Initialisierung des Toolpart mit der vorherigen Auswahl des Benutzers. Sieht aus, als hättest du es irgendwie schaffen können. Ich habe meine Antwort auf Vollständigkeit aktualisiert :) –