1

我使用 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();
        }
    }
4

1 回答 1

3

为什么不将它存储在会话变量中?顾名思义,TempData 只是临时的,会话变量将数据保存更长时间。

于 2013-02-16T22:45:59.107 回答