2012-01-24 70 views
0

我正在尋找將自定義屬性添加到工具部件。我已經能夠根據需要添加文本框。我已經能夠輸入值並將其顯示在webpart中。Sharepoint工具部件值不被檢索

問題是當我編輯webpart時 - 面板彈出,但我添加的控件沒有填充先前輸入的值。請看下圖:

Why doesn't this work? :(

我也跟着指示on this website正是因爲寫 - 既不自己也不是一個有經驗的SharePoint開發人員共同工作人員能夠弄清楚是怎麼回事。

我們認爲重寫SyncChanges()方法會允許這樣做 - 它似乎沒有,除非我們的實現不正確?

public override void SyncChanges() 
    { 
     DemoWebPart wp = (DemoWebPart)this.ParentToolPane.SelectedWebPart; 
     urls.Text = wp.ListValue; 
    } 

我們還前綴以下的DemoWebPart.cs類的網址屬性,但無濟於事:

[Browsable(true), Category("Miscellaneous"), 
    DefaultValue("Site Names"), 
    WebPartStorage(Storage.Shared/Personal/None), 
    FriendlyName("URLs"), Description("Text Property")] 

(嘗試過Storage.Shared,Storage.Personal和Storage.None )。

任何幫助,你可以提供將不勝感激 - 先謝謝了!

回答

1

這是我的代碼一般使用這樣的特性:

[Personalizable(PersonalizationScope.Shared)] 
[WebBrowsable(true)] 
[System.ComponentModel.Category("Custom")] 
[WebDisplayName("DisplayNameGoesHere")] 
[WebDescription("Type the description of this web property here.")] 
public string MyProperty{ get; set; } 

我從來沒有任何問題了。

+0

只是嘗試這樣做......現在它不再保存我鍵入到文本框的網頁組件暫時顯示... – splatto

+0

清除你在OP中發佈的所有內容,確保它們不會相互衝突。 (特別是同步改變。) – Servy

1

僅使用if Web部件個性化的enbaled在中央管理以下內容:

Personalizable(PersonalizationScope.Shared) 

如果不是,完全刪除個性化設置的屬性。不要把假的或者沒有它,刪除屬性,並使用此:

WebPartStorage(Storage.Shared)