我在这里看到了很多重定向问题,但我的问题略有不同 .
请参阅下面的代码 .
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页面 .
有任何想法吗?
很抱歉很长的解释 .