我想通过RedirectToAction将一个视图模型从一个动作传递到另一个动作,但是在这样做时,我会遇到一个错误,提示"对象引用未设置为对象的实例",尽管我已经从控制器中填充了模型数据,但在视图中仍为null。我想从Login传递数据到LoggedIn。我不想使用查询字符串,因为这可以被黑客轻易篡改。
[HttpPost]
public ActionResult Login(User account)
{
using (TestDBEntities db = new TestDBEntities())
{
var user = db.Users.SingleOrDefault(u => u.Email == account.Email && u.Password == account.Password);
if (user != null)
{
Session["USER"] = user.UserID;
var model = new UserAccountViewModel{UserAccount = user};
return RedirectToAction("LoggedIn", model);
}
ModelState.AddModelError("", "User credentials are invalid");
}
return View("Login");
}
public ActionResult LoggedIn(UserAccountViewModel model)
{
return View(model);
}