2011-07-26 10 views
3

System.Web.UI.WebControls.WebParts.EditorPartクラスから継承私は、EditorPartを介して更新されたときにSharepointに自動的に永続化されるVisualWebPartのパブリックプロパティを公開することが可能であることが示されています。永続共有ポイントEditorPart設定

文字列と整数の保存に問題がありますが、List<String>などのコレクションの値を保持しようとするとオブジェクトが保存されません。

コードは次のようになります。

Public Class MyCustomEditorPart 
    Inherits EditorPart 

    Public Overrides Function ApplyChanges() As Boolean 
     VisualWebPart1.TestString = "Test" 
     VisualWebPart1.TestList = new List(Of String) ''Add Items.... 
    End Function 

    Public Overrides Sub SyncChanges() 
     Dim readString As String = VisualWebPart1.TestString ''Works great 
     Dim readList As List(Of String) = VisualWebPart1.TestList ''Always an empty new instance 
    End Function 

End Class 

Public Class VisualWebPart1 
    Inherits WebPart 

    Public Property TestString As String 
    Public Property TestList As List(Of String) 
End Class 

誰もが洞察を与えてください。このテクニックを使用してプリミティブのみを保存できますか?

答えて

6

デフォルトでは、Webパーツはプリミティブタイプをパーソナライズストアにのみ保存できます。

あなたは、あなたの複合型の型コンバータを書き、属性として、あなたのWebパーツでその型コンバータを指定する必要があります保存し、Webパーツに保存

OR

にあなたの複合型をシリアル化する必要がありますどちらか。

関連する問題