2015-08-20 4 views
0

Я хочу войти в автоматически после регистрации с помощью сеанса, как сессии [ «уд»], но я не знаю, где я должен поставить его.как автоматический вход после регистрации в asp.net

public partial class index : System.Web.UI.Page 
{ 
    SqlConnection cnn = new SqlConnection(ConfigurationManager.AppSettings["dbpath"]); 

    protected void btnSave_Click(object sender, EventArgs e) 
    { 
     long idx; 
     SqlCommand cmd = new SqlCommand(); 
     cmd.Connection = cnn; 
     cmd.CommandText = "Insert into tblUser (UInfo,UEmail,UName,UPass, UGender) Values (@P1,@P2,@P3,@P4,@P5) select @@Identity"; 
     cmd.Parameters.AddWithValue("@P1", txtInfo.Text); 
     cmd.Parameters.AddWithValue("@P2", txtEmail.Text); 
     cmd.Parameters.AddWithValue("@P3", txtUserName.Text); 
     cmd.Parameters.AddWithValue("@P4", txtPass.Text); 
     cmd.Parameters.AddWithValue("@P5", rdbMale.Checked); 
     cnn.Open(); 
     idx = Convert.ToInt64(cmd.ExecuteScalar()); // i think here we can do something 
     cnn.Close(); 

здесь мы хотим, чтобы загрузить изображение пользователя и он работает правильно

 string fn = ""; 
     if (FileUpload1.HasFile == true) 
     { 
      fn = FileUpload1.FileName; 
      string des = Server.MapPath("\\UserImg\\") + idx.ToString() + ".jpg"; 
      FileUpload1.PostedFile.SaveAs(des); 

      SqlCommand cmdUpdate = new SqlCommand(); 
      cmdUpdate.Connection = cnn; 
      cmdUpdate.CommandText = "Update tblUser Set [email protected] where [email protected]"; 
      cmdUpdate.Parameters.AddWithValue("@P5", idx.ToString() + ".jpg"); 
      cmdUpdate.Parameters.AddWithValue("@P0", idx); 
      cnn.Open(); 
      cmdUpdate.ExecuteNonQuery(); 
      cnn.Close(); 
     } 
     Response.Redirect("Profile.aspx"); 
    } 
    } 

ответ

0

после ввода данных в в базе данных SQL вы получите идентификатор нового пользователя здесь

idx = Convert.ToInt64(cmd.ExecuteScalar()); // i think here we can do something 

Как только вы получите идентификатор, назначьте его на свою сессию

idx = Convert.ToInt64(cmd.ExecuteScalar()); // i think here we can do something 
cnn.Close(); 
Session["ud"]=idx; 

После того, как вы назначили сеанс, вам просто нужно перенаправить требуемую страницу и проверить переменную сеанса, если она равна null или нет.

Я надеюсь, что на странице Profile.aspx вы проверяете ту же переменную сеанса.

Profile.aspx.cs - на странице загрузки

if (Session["ud"] != null) 
       { 
        //successfull login 
       } 
       else 
       { 
        //redirect to login page 
       } 
+0

Спасибо, я сделал, и это было правдой – rezi

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