持久的sharepoint EditorPart设置

时间:2011-07-26 06:20:06

标签: .net vb.net sharepoint sharepoint-2010 web-parts

继承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 个答案:

答案 0 :(得分:6)

你是对的,web部分默认只能将原始类型保存到个性化存储中。

您必须将复杂类型序列化为save,然后保存到Web部件

OR

您必须为复杂类型编写类型转换器,并将Web部件中的类型转换器指定为属性。