会话状态为:InProc
Protected Overrides Function LoadPageStateFromPersistenceMedium() As Object
Return Session("kat0020uno4_ViewState")
End Function
Protected Overrides Sub SavePageStateToPersistenceMedium(ByVal viewState As Object)
Session("kat0020uno4_ViewState") = viewState
RegisterHiddenField("__VIEWSTATE", "")
End Sub
当会话状态为:StateServer
页面被Load进来时,报不能被序列化的错误,解决方法如下:
Protected Overrides Function LoadPageStateFromPersistenceMedium() As Object
Dim formatter As New LosFormatter
Dim sb As New StringBuilder
sb.Append(Session("kat0020uno4_ViewState"))
Return formatter.Deserialize(sb.ToString())
End Function
Protected Overrides Sub SavePageStateToPersistenceMedium(ByVal viewState As Object)
Dim vsString As String
Dim writer As New StringWriter
Dim formatter As New LosFormatter
formatter.Serialize(writer, viewState)
vsString = writer.ToString
Session("kat0020uno4_ViewState") = vsString
RegisterHiddenField("__VIEWSTATE", "")
End Sub
Protected Overrides Function LoadPageStateFromPersistenceMedium() As Object
Return Session("kat0020uno4_ViewState")
End Function
Protected Overrides Sub SavePageStateToPersistenceMedium(ByVal viewState As Object)
Session("kat0020uno4_ViewState") = viewState
RegisterHiddenField("__VIEWSTATE", "")
End Sub
当会话状态为:StateServer
页面被Load进来时,报不能被序列化的错误,解决方法如下:
Protected Overrides Function LoadPageStateFromPersistenceMedium() As Object
Dim formatter As New LosFormatter
Dim sb As New StringBuilder
sb.Append(Session("kat0020uno4_ViewState"))
Return formatter.Deserialize(sb.ToString())
End Function
Protected Overrides Sub SavePageStateToPersistenceMedium(ByVal viewState As Object)
Dim vsString As String
Dim writer As New StringWriter
Dim formatter As New LosFormatter
formatter.Serialize(writer, viewState)
vsString = writer.ToString
Session("kat0020uno4_ViewState") = vsString
RegisterHiddenField("__VIEWSTATE", "")
End Sub
博客介绍了不同会话状态下页面状态的处理方法。当会话状态为InProc时,展示了LoadPageStateFromPersistenceMedium和SavePageStateToPersistenceMedium函数代码;当会话状态为StateServer,页面Load报错,给出了相应解决方法及对应函数代码。
1302

被折叠的 条评论
为什么被折叠?



