如果我的会话模式设置为“StateServer”,则会出现序列化错误,因为我将控件列表存储在会话中,并将它们添加到 aspx 占位符控件中。这是我认为有问题的代码:
Protected Sub AddCtrl(ByVal ctrl As Control)
Dim l As List(Of Control)
If Session("Ctrls") Is Nothing Then
l = New List(Of Control)
Else
l = DirectCast(Session("Ctrls", List(Of Control))
End If
End Sub
稍后在代码中,我遍历 Ctrls 会话对象,并将每个控件添加到 HTML 中的占位符。
我能做些什么来解决这个问题?我尝试创建一个从列表继承的自定义列表,并使其可序列化并改用自定义列表,但这并没有做到:
<Serializable()> _
Public Class MyList
Inherits List(Of Control)
我尝试改用 ViewState,但也没有用。寻求建议...
谢谢!