[Wap]OnViewStateExpire异常的处理办法

<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>

[Wap]OnViewStateExpire异常的处理办法

编写者

日期

关键词

郑昀@ultrapower

2005-7-14

Wap ASP.NET

session timeout OnViewStateExpire

现象

我们的Wap页面由dotNET 编写而成,当页面停留时间过长后,由于IISsession超时时间是20分钟,这时候再点击页面上的控件,它可能报告如下错误:

页面是这样的:

/Mail 中的服务器错误

更多System.Exception
该页所需的会话状态已不可用。或者是会话已过期、客户端未发送有效的会话 Cookie,或是会话状态的历史记录太小。请尝试增加历史记录大小或延长会话到期期限。
方法:OnViewStateExpire

手机用户肯定是不可接受这种用户体验的。

解决办法

对于这种OnViewStateExpire异常,在vb.net中是可以这么写的:

代码:

Protected Overrides Sub OnViewStateExpire(ByVal e As EventArgs)

'viewstate has expired

Me.RedirectToMobilePage("errorEvent.aspx?ref=viewstate")
End Sub

从而让页面主动捕获到这个错误,并前往重新登录的页面或者统一错误页面。

并且,为了避免其他情况下抓不到错误,导致用户看到非正常报错页面,应该每个页面都这么做:

代码:

Private Sub Page_Error(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Error
' Add some code here to log error if desired
Me.RedirectToMobilePage("CustomErrorPage.aspx")
End Sub

编写者

日期

关键词

郑昀@ultrapower

2005-7-14

Wap ASP.NET

session timeout OnViewStateExpire




你可能感兴趣的:(asp.net,asp,vb,VB.NET,WAP)