Сохраняемые настройки редактора разделяемой точки - PullRequest
3 голосов
/ 26 июля 2011

Наследование от класса System.Web.UI.WebControls.WebParts.EditorPart Мне было показано, что в вашем VisualWebPart можно открыть открытое свойство, которое при обновлении через EditorPart будет автоматически сохраняться в sharepoint.

Проблема, с которой я столкнулся, заключается в сохранении строк и целых чисел, но когда я пытаюсь сохранить значение коллекции, такое как 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

Кто-нибудь хочет дать некоторое представление? Вы можете сохранить только примитивы, используя эту технику?

1 Ответ

6 голосов
/ 26 июля 2011

Вы правы, по умолчанию веб-часть может сохранять только типы примитивов в хранилище персонализации.

Вы должны либо сериализовать ваш сложный тип в сохранение, а затем сохранить в веб-части

OR

Вы должны написать конвертер типов для вашего сложного типа и указать этот конвертер типов в своей веб-части в качестве атрибута.

...