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");
}