C# 重新加载页面时数据丢失
我使用TempData存储登录用户角色,但在用户登录并按F5重新加载页面后,我遇到一个错误,指出C# 重新加载页面时数据丢失,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我使用TempData存储登录用户角色,但在用户登录并按F5重新加载页面后,我遇到一个错误,指出对象引用未设置为对象的实例 我使用TempData是因为我的页面需要重定向。 用户在提交前填写登录表单,我不知道如何检索发布的数据,因为如果他的角色是管理员,我需要将用户重定向到管理页面;如果他的角色是普通用户,则只需将其重定向到标准页面 private bool IsAdmin(string username) { return (Roles.GetRolesForU
对象引用未设置为对象的实例
我使用TempData是因为我的页面需要重定向。
用户在提交前填写登录表单,我不知道如何检索发布的数据,因为如果他的角色是管理员
,我需要将用户重定向到管理页面;如果他的角色是普通用户
,则只需将其重定向到标准
页面
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();
}
}
为什么不将其存储在会话变量中?顾名思义,TempData只是临时的,会话变量将保存数据更长时间。谢谢,但是为什么重新加载会删除对象数据?我想在登录后,我已经通过身份验证并使用TempDate生活,但重新加载会杀死TempData,而我的登录状态仍然是TempData,它是一个支持会话的临时存储字典,可用于单个请求。