在某些情况下,会话变量不会在回发中保留

时间:2014-03-13 10:51:02

标签: asp.net session

在我的一个ASP网站中,我遇到了会话变量的问题。

以下是我的代码摘录。

    If Page.IsPostBack = False And newFrmReply = False Then

        Dim mystream As IO.Stream

        mystream = Request.InputStream()
        Dim filebytes(mystream.Length) As Byte
        mystream.Read(filebytes, 0, mystream.Length)
        For i = 0 To UBound(filebytes)
            If filebytes(i) <> 0 Then
                reg.poststr = reg.poststr & Chr(filebytes(i))
            End If

        Next
        Session("poststring") = reg.poststr 
    Else
        reg.poststr = Session("poststring") 
    End If

    serial = reg.getvalueFromUrl("Serial", reg.poststr)


    If serial > 0 Then
            TxtSl_no.Text = Mid(serial, 1, 5)
    Else
            TxtSl_no.Visible = True
            lblSerialNo.Visible = True
    End If

最初会话(&#34; poststring&#34;)是从发布到URL的字符串设置的。我们给了一个ASP按钮。在按钮上单击后退发生。 在回读会话的任何地方回发后,它返回空字符串。 发布到URL的字符串不为空,因为TxtSl_no.Text具有非空值(基于发布的字符串)。 在web.config中,我将会话时间设置为24小时。 <sessionState timeout="1440"></sessionState>。 在99%的客户端PC中,此代码运行正常。只有少数PC空白字符串才会保存到数据库中。

在回发时保留txtsl_no.text视图状态。因此,在回发时会保留txtsl_no.text。

0 个答案:

没有答案