如何使用vb.net在会话中存储userid

时间:2013-08-21 10:00:27

标签: asp.net vb.net

如何在会话中存储用户ID,以便我可以在其他页面中使用?

我的代码如下

Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Imports System.Web
Imports System.IO

Private Sub cmdlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    cnn.Open()

    Dim sqlcomm2 As New SqlCommand("Select * from Users where userid='" & txtuserid.Text & "'", cnn)
    Dim r2 As SqlDataReader = sqlcomm2.ExecuteReader()
    While r2.Read
        Dim UserId1 As String = Trim(UCase(CStr(r2("UserId"))))
        Dim Password As String = Trim(UCase(CStr(r2("Password"))))
        Dim username As String = CStr(r2("Name"))

        Session("User") = UserId1
        Session("Password") = Password

        'System.Web.HttpContext.Current.Session("item")

    End While
    r2.Close()

但显示错误为:

  

会话未声明

1 个答案:

答案 0 :(得分:6)

编译应用程序时出现此错误:

未声明名称'session'...

这通常发生在代码自定义中使用会话变量且您的编译器无法找到会话变量类时。

指定会话变量的完整路径。如果无法直接访问Session类,则可能需要指定其完整路径,如下所示:

在VB.NET中,要访问值:

System.Web.HttpContext.Current.Session(“MyVariable”)
System.Web.HttpContext.Current.Session(“MyVariable”).ToString()

在VB.NET中,设置一个值:

System.Web.HttpContext.Current.Session(“MyVariable”) = “NewValue”