2015-02-18 4 views
-1

Я новичок в ASP.NET. Я занимаюсь разработкой одного веб-сайта, использующего asp.net C#. В пользовательском веб-сайте после поиска своего сообщения о работе при попытке нажать «Применить сейчас», если сеанс пуст, страница будет перенаправлена ​​на «CandidateLogin.aspx». После входа в систему страница будет перенаправляться на последнюю посещенную страницу, а затем пользователь может подать заявку. Если пользователь открывает веб-сайт и открывает страницу входа в систему или напрямую вводит URL-адрес страницы входа, после входа в систему он перенаправляется на страницу «Профиль кандидата». Любая помощь будет оценена по достоинству.Как перенаправить страницу входа на предыдущую страницу в ASP.NET C#?

protected void btnLogin_Click(object sender, EventArgs e) 
    { 
     string ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["jobforu"].ToString(); 
     SqlConnection conn = new SqlConnection(ConnString); 
     SqlCommand cmd = new SqlCommand(); 
     conn.Open(); 
     cmd.Connection = conn; 
     cmd.Parameters.Clear(); 
     SqlDataReader dr; 

     canname = ""; 
     canpwd = ""; 
     canemail = ""; 
     session_canFirstName=""; 

     cmd.CommandText = "select * from jobforu.dbo.can_master where can_email = @can_email and can_pwd = @can_pwd"; 
     cmd.Parameters.AddWithValue("@can_email", txtEmail.Text.Trim()); 
     cmd.Parameters.AddWithValue("@can_pwd", txtPassword.Text.Trim()); 
     dr = cmd.ExecuteReader(); 
     while (dr.Read()) 
     { 
      canname = dr["can_fname"].ToString() +" "+ dr["can_mname"].ToString() +" "+ dr["can_lname"].ToString(); 
      canpwd = dr["can_pwd"].ToString(); 
      canemail = dr["can_email"].ToString(); 

      session_canFirstName = dr["can_fname"].ToString(); 
      sessionCanCode = dr["can_code"].ToString(); 


     } 
     dr.Close(); 
     conn.Close(); 
     cmd.Parameters.Clear(); 


     if (canname.Length > 1) 
     { 
      Session["canname"] = canname; 
      Session["canpwd"] = canpwd; 
      Session["canemail"] = canemail; 
      Session["sessionCanCode"] = sessionCanCode; 

      Response.Redirect(ViewState["GoBackTo"].ToString()); 

     } 

     else 
     { 
      //Response.Write("Invalid user name or password"); 
      lblErrorMsg.Visible = true; 
      lblErrorMsg.Text = "Invalid user name or password!"; 
      txtEmail.Text = ""; 
      txtPassword.Text = ""; 
      txtEmail.Focus(); 
     } 


    } 

нагрузка Страницы:

protected void Page_Load(object sender, EventArgs e) 
    { 

     if (Session["sessionCanCode"] != null) 
     { 
      Response.Redirect("jobseekers/Default.aspx?ref=m_icon"); 
     } 

     if (!Page.IsPostBack) 
     { 
      ViewState["GoBackTo"] = Request.UrlReferrer; 
      FillCapctha(); 
     } 
     lblErrorMsg.Visible = false; 

    } 
+0

К сожалению, в отличие от _Professor Xavier_, большинство людей не являются психическими и не могут видеть ваш код. Рассмотрите возможность размещения образца кода. Спасибо и удачи! – MickyD

+0

Возможный дубликат [Как перенаправить на предыдущее действие в ASP.NET MVC?] (Http://stackoverflow.com/questions/815229/how-do-i-redirect-to-the-previous-action-in -asp-net-mvc) –

+0

Г-н Микки Дункан У меня есть вопрос с кодом. –

ответ

0

Я предполагаю, что вы используете webforms. Вы хотите перенаправить после входа на предыдущую страницу. Для этого вы можете использовать свойство Request.UrlReferrer. Однако это свойство будет равно null, если значение заголовка HTTP не является URI или если поле не было установлено клиентом UA.
Вы никогда не должны зависеть от этого механизма, потому что он установлен клиентом, и вы никогда не должны доверять клиенту (http://en.wikipedia.org/wiki/Defensive_programming). И, как указано, не у всех посетителей будет набор заголовков Referer.

Вместо этого вы можете использовать Request.QueryString, чтобы передать предыдущий URL-адрес страницы LoginPage. ANd, когда пользовательский журнал использует URl для перенаправления на страницу.

Смежные вопросы