访问上一页

时间:2012-05-05 15:25:19

标签: asp.net vb.net exception-handling httprequest nullreferenceexception

我正在尝试使用VB.NET使用以下代码访问ASP.NET中的上一页:

Partial Class _Default Inherits Page        
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        Dim previousPage As String = Page.Request.UrlReferrer.ToString
        If (Request.UrlReferrer <> Nothing) Then
            If previousPage.Contains("Login") Then
                Dim tUsername As String = Session("Username")
                lblUsername.Text = "Welcome, " + tUsername
            ElseIf previousPage.Contains("Register") Then
                Dim cUsername As String = Session("CUsername")
                lblUsername.Text = "Welcome, " + cUsername
            Else
                lblUsername.Text = "Welcome, Guest"
            End If
        End If
    End Sub
End Class

我收到此错误:

  

对象引用未设置为对象的实例。

在:

Dim previousPage As String = Page.Request.UrlReferrer.ToString

我想要做的是访问上一页,这样我就可以得到一个会话变量。

2 个答案:

答案 0 :(得分:0)

尝试此代码。

Partial Class _Default
        Inherits System.Web.UI.Page

        Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load

            If (Request.UrlReferrer <> Nothing) Then

               Dim previousPage As String = Page.Request.UrlReferrer.ToString

                If previousPage.Contains("Login") Then

                    Dim tUsername As String = Session("Username")

                    lblUsername.Text = "Welcome, " + tUsername

                ElseIf previousPage.Contains("Register") Then

                    Dim cUsername As String = Session("CUsername")

                    lblUsername.Text = "Welcome, " + cUsername
                End If

            Else
                    lblUsername.Text = "Welcome, Guest"

            End If

        End Sub

End Class

答案 1 :(得分:0)

不确定你想要做什么,但虽然它很容易回答你的具体问题,你应该退后一步,回顾一下为什么你这样做。

似乎您正试图根据某些身份验证来控制流量。如果是,请考虑ASP.Net Forms Authentication +/-登录控件。您可以将此体系结构“插入”现有的身份验证机制(这意味着您不必根除现有的内容来实现它)。

(如果您仍想重新发明轮子)在登陆“this”页面之前,请考虑使用Cookie,而不是试图找出“用户来自哪里” - 两者都可能因x而异 - 您的网站拥有或将拥有的网页越多,您就会拥有更多的意大利面条。

相关问题