我使用TempData存储登录用户角色,但在用户登录并按F5重新加载页面后,我遇到错误,指出Object reference not set to an instance of an object
我使用TempData,因为我的页面需要重定向。
用户在提交之前填写登录表单,我不知道如何检索发布的数据,因为我需要将用户重定向到管理页面,以防他的角色为administrator
或仅standard
页面如果他是normal user
。
private bool IsAdmin(string username)
{
return (Roles.GetRolesForUser(username).ToList().Contains("administrator"));
}
public ActionResult AdminLayout()
{
if(IsAdmin(TempData["LoginUsername"].ToString())) //Error TempDate on Reload
{
return View();
}
else
{
return Index();
}
}
答案 0 :(得分:2)
为什么不将它存储在会话变量中?顾名思义,TempData只是暂时的,会话变量会将数据保存更长时间。