0

次のコードを使用して、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

私がやりたいことは、セッション変数を取得できるように、前のページにアクセスすることです。

4

2 に答える 2

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
于 2012-05-05T15:37:28.907 に答える
0

何をしようとしているのかわからない場合でも、特定の質問に答えるのは簡単ですが、一歩下がって、なぜそのようにしているのかを確認する必要があります.

認証に基づいてフローを制御しようとしているようです。その場合は、ASP.Net フォーム認証+/- ログイン コントロールを検討してください。このアーキテクチャを既存の認証メカニズムに「プラグイン」できます (つまり、実装するために既存のものを根こそぎにする必要はありません)。

(それでも車輪を再発明したい場合) 「この」ページにたどり着く前に「ユーザーがどこから来たか」を把握しようとする代わりに、Cookie を検討してください - どちらも x によって変化する可能性があります - Web サイトの Web ページが多いほどまたは持っているでしょう、あなたはより多くのスパゲッティを持っています.

于 2012-05-05T16:41:38.943 に答える