州会议空参考

时间:2014-04-25 19:11:53

标签: asp.net session-state

我正在使用asp.net通过Visual Basic处理Login session。当会话超时完成并且我点击另一个不同的页面时,它会给我一个错误,"对象引用未设置为对象的实例。" SessionState模式=" InProc" 这是我用于会话的代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Session("Username") Is Nothing Then
        Label1.Text = "Welcome, " & Session("Username").ToString()
    End If
End Sub

2 个答案:

答案 0 :(得分:0)

If Session("Username") IsNot Nothing Then
    Label1.Text = "Welcome, " & Session("Username").ToString()
Else
    Response.Redirect("~/Default.aspx")
End If

在引用之前,您需要检查它是否为空。你正在做相反的事情。您正在检查它是否为空,验证它是否为,然后引用它。这就是你获得NullReferenceException的原因。基本上所有空引用异常都是相同的,您尝试对空的对象执行操作。

答案 1 :(得分:0)

使用内置函数,这正是您所需要的:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 If Not IsNothing(Session("Username")) Then
    Label1.Text = "Welcome, " & Session("Username").ToString()
 End If
End Sub

全部:=)

干杯