I have two controllers, Login and Account controllers. After the login validation I have set the value to the Session["username"] and redirected to the Account controllers' index page using Response.Redirect("../Account"). I need to access the value of Session["Username"] on the index page of Account Controller. I used @Session["Username"] on the view but value is not shown.
Does redirection cause disposal of session variables?
public void LoginVerify(UserModel usermodel)
{
var dbContext = new db_restproEntities(); //class derived from DbContext
var usernames = from username in dbContext.tbl_login select username; //read data
List<tbl_login> users = dbContext.tbl_login.ToList();
bool active = false;
foreach (var x in users)
{
if (x.username == usermodel.username && x.password == usermodel.password)
{
if (x.active == true)
{
active = true;
Session["Message"] = "";
Session["session_username"] = x.username;
Session["status"] = "TRUE";
Session["userid"] = x.user_id;
Response.Redirect("../" + x.role);
}
}
}
Session["Message"] = "Invalid Login Details";
Response.Redirect("../Login");
}