我在这里看到了很多重定向问题,但我的问题略有不同 .

请参阅下面的代码 .

Sub CmdLogin_Click(ByVal Sender As Object, ByVal E As EventArgs) Handles CmdLogin.Click

    Dim MySQL As String
    Dim MyCount As SqlCommand
    Dim IntUserCount As Integer

    Dim redirect As String = Request.QueryString("redirect")
    Using myConnectionString As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("constr").ConnectionString)

        'Dim myConnection As New SqlConnection(myConnectionString)
        Try
            myConnectionString.Open()
            MySQL = "SELECT COUNT(*) FROM EmployeeData WHERE empnum = '" & Replace(txtEmail.Text, "'", "''") & "' and empnum = '" & txtPassword.Text & "' "

            MyCount = New SqlCommand(MySQL, myConnectionString)
            IntUserCount = MyCount.ExecuteScalar()
            Dim cmd As New SqlCommand("Select Department, unit, oldtitle, EmpName,newtitle,empnum, DBM,NewClassification,grade,Email,zip FROM EmployeeData Where empnum = @empnum and zip=@Password ", myConnectionString)
            cmd.Parameters.AddWithValue("@Password", txtPassword.Text)
            cmd.Parameters.AddWithValue("@empnum", txtEmail.Text)
            Dim dr As SqlDataReader = cmd.ExecuteReader()
            If dr.Read() Then
                Session("fullname") = dr("empName")
                Session("dept") = dr("Department")
                Session("password") = dr("zip")
                Session("empNum") = dr("empnum")

                ' Re-direct to original page
                If redirect IsNot Nothing AndAlso redirect.Length > 0 Then
                    Response.Redirect(redirect)
                Else
                    Response.Redirect("~/benefitspage.aspx")
                End If
            Else
                lblMsg.ForeColor = System.Drawing.Color.Red
                lblMsg.Text = "Invalid username password combination"
            End If

        Catch ex As SqlException
            Response.Write("<SCRIPT LANGUAGE='JavaScript'>alert('" + ex.Message + "')</SCRIPT>")
        Finally
            If myConnectionString IsNot Nothing AndAlso myConnectionString.State = ConnectionState.Open Then
                myConnectionString.Close()
            End If
        End Try
    End Using
End Sub

用户输入用户名/密码 .

如果成功通过身份验证,则会将用户重定向到向用户显示其福利权利的页面 .

然后,用户单击该页面底部的链接继续:

<div align="center"> <a href="ReviewProcedures.aspx?user=session("fullname")Continue >> </a></div>

点击后,用户将被带到另一个页面,该页面提供有关如何申请更改其福利包的说明 .

阅读说明后,用户点击另一个链接转到页面申请更改:

继续上诉页面>>

到现在为止还挺好 .

这是问题:

当用户再次登录时,我们想检查数据库以查看用户之前是否已申请更改(基于他的ID) .

如果用户之前已应用,则将用户重定向到edits.aspx页面以更改其记录 .

换句话说,如果这是用户第一次申请,则一旦用户成功通过身份验证,用户就会看到他/她的福利页面,然后是他/她的说明页面,最后是apply.aspx页面 .

如果用户已经申请,一旦经过身份验证,将用户重定向到福利页面,说明页面,最后到目前为止,再到edits.aspx页面 .

无论我尝试什么,重定向都会将用户带到edits.aspx页面 .

有任何想法吗?

很抱歉很长的解释 .