我有一个登录页面,我想将用户名设置为会话变量,因为我想在我的 Web 应用程序的右上角显示它,并且我必须在所有内容页面中访问它。
我正在做的是在登录后,在母版页中设置一个会话变量,例如:
Session("nameUser") = Request.QueryString("nameUser")
然后,当我第一次访问默认页面时,它工作正常。但是我将页面更改为另一个页面,它也继承了母版页,它崩溃并且错误说:
reference to object isn't established as an object instance
。我该如何解决这个问题?
我只想设置一个会话变量并在所有内容页面中使用它。(或者如果我不能,请将其设置到所有内容页面的母版页中)
编辑:
这是在我的登录页面中。如果登录正常,我会使用用户名作为参数向另一个页面发出请求。
Dim SQL As String = "SELECT * FROM Usuarios WHERE Identificacion='" & txtNomUsuario.Text & _
"' AND Password='" & txtPasswordUsuario.Text & "'"
Dim da As New SqlDataAdapter(SQL, cnn)
Dim ds As New DataSet
da.Fill(ds)
If ds.Tables(0).Rows.Count() = 1 Then
Dim nomUsuario As String = txtNomUsuario.Text
Response.Redirect("Default.aspx?nomUsuario=" & nomUsuario)
Else
Response.Redirect("about:blank")
End If
我在母版页的初始化中这样做
Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Init
If Not IsPostBack Then
If Request.QueryString("nomUsuario") <> Nothing Then
Session("nomUsuario") = Request.QueryString("nomUsuario")
lblUsuario.Text = Session("nomUsuario")
Else
lblUsuario.Text = Session("nomUsuario")
End If
End If
End Sub