我用vb.net写的程序
If abc.Tables("setup").Rows.Count <> 0 Then
            Session("useridchk") = "abc"                  
            Page.Response.Redirect("main.aspx")
            Exit Sub
        Else
.
.
.            
            Exit Sub
End If定义了一个session了在main.vb中定义了
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        If Session("useridchk") = "" Then
            Response.Redirect("login.aspx")
        End If
End Sub但为什么不能正常呢?session("useridchk")跟本没有数值
以前用asp就很正常,哪位高手帮我看看啊

解决方案 »

  1.   

    <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false" 
                timeout="20" 
        />
    WEB.config是这样写的
      

  2.   

    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="120"/>
      

  3.   

    以上代码写在Web.config文件中。
      

  4.   

    肯定是abc.Tables("setup").Rows.Count <> 0的值为false了。
      

  5.   

    If Session("useridchk") = "" Then
                            ^
    VB.NET的语法我不大熟,是不是应该是==?
      

  6.   

    不是==是=,我现在用response.write ("useridchk")也不能正常显示,原因在哪呢
      

  7.   

    找到原因了,原来是之前有 Session.Abandon()
    去掉了就正常了,但这个是什么意思?
      

  8.   

    晕,怪不得,Session.Abandon()是去除Session值啊,就是注销的意思啊,当然就为空了。