ASP.net会话变量aspnetdb登录控件

ASP.net会话变量aspnetdb登录控件,asp.net,session-variables,aspnetdb,Asp.net,Session Variables,Aspnetdb,大家好,我正在尝试为我的登录控件携带一个会话变量,我正在使用该变量传递到另一个页面并显示他们的详细信息。我正在使用aspNetDB。“我的用户名”已设置为整数,因为它连接到另一个数据库表,其中显示用户详细信息,以下是我的代码: Protected Sub Login1_LoggingIn(sender As Object, e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles Login1.LoggingIn

大家好,我正在尝试为我的登录控件携带一个会话变量,我正在使用该变量传递到另一个页面并显示他们的详细信息。我正在使用aspNetDB。“我的用户名”已设置为整数,因为它连接到另一个数据库表,其中显示用户详细信息,以下是我的代码:

    Protected Sub Login1_LoggingIn(sender As Object, e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles Login1.LoggingIn

            Session("StaffNo") = Login1.UserName()

        End Sub
然后,代码被发送到我的另一个页面,以便在加载到数据网格时显示其详细信息,但会话似乎没有携带:

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        Try
            Dim Staff As String = CType(Session.Item("StaffNo"), String)
            Dim conn As SqlConnection
            Dim cmd As SqlCommand

            Dim cmdstring As String = "SELECT * FROM [User] WHERE studentnum = @StaffNo"
            conn = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True")
            cmd = New SqlCommand(cmdstring, conn)

            cmd.Parameters.Add("@StaffNo", SqlDbType.Char).Value = Staff
            conn.Open()

            Dim myReader As SqlDataReader

            myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)


            GridView1.DataSource = myReader
            GridView1.DataBind()

            conn.Close()
        Catch ex As Exception
            Response.Write("An error has occurred")
        End Try

    End Sub

如果你遇到异常,你不想知道是哪一个吗?你应该显示
ex.ToString()
Cheers刚刚排序的结果我在studentnum的位置,而我应该让Staff\u No.TYhanks来帮助你
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    Try  
Dim cmdstring As String = "SELECT * FROM [User] WHERE studentnum = '"& Session("StaffNo").ToString & "' "

End Sub