我用ASP.NET的移动Web窗体做WAP应用的时候,遇到一个比较奇怪的问题,就是当用户单击页面上的命令按钮的时候,会出现以下错误:
该页所需的会话状态已不可用。或者是会话已过期、客户端未发送有效的会话 Cookie,或是会话状态的历史记录太小。请尝试增加历史记录大小或延长会话到期期限。如果在IE浏览器中,只有在一段时间不操作浏览器之后,单击按钮才出现这个提示,这个现象比较好理解。如果连续操作,网页是正常的。现在的问题是,用手机模拟器时,一直都会出现这个错误。我用的模拟器是Openwave V7 Simulator。页面代码如下:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Test.aspx.vb" Inherits="wap_Test" %>
<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %><html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <mobile:Form id="Form1" runat="server">
<mobile:Command ID="Command1" Runat="server">Command</mobile:Command>
    </mobile:Form>
</body>
</html>
程序代码如下:
Partial Class wap_Test
    Inherits System.Web.UI.MobileControls.MobilePage    Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
        Command1.Text = IIf(Command1.Text = "OK", "Cancel", "OK")
    End Sub
End Class我测试的时候,如果把唯一那个语句Command1.Text = IIf(Command1.Text = "OK", "Cancel", "OK")注释掉,在手机模拟器上就不会出现那个错误提示。请问如何解决这个问题?谢谢。