如何在用户关闭浏览器之前永久传递值以查看? MVC

问题描述

当欢迎页面刷新时,tempData 值丢失。我已经对用户登录管理员登录)进行了检查,并相应地隐藏/显示一个元素。例如,如果用户类型为 1(全局管理员),则在欢迎页面显示管理员管理”链接,否则将其隐藏。我正在使用 tempData 存储“类型”,它在登录时按预期工作,但如果我刷新欢迎页面,则会引发此错误:请帮助

Upon REFRESH

我的逻辑

public ActionResult Login()
        {
            ViewBag.Message = "Your Login page.";

            return View();
        }

        [HttpPost]
        public ActionResult Login(tbl_Admin adminObj)
        { 
            studentDBEntities db = new studentDBEntities();
            var adminvar = db.tbl_Admin.Where(x => x.Email == adminObj.Email && x.Password == adminObj.Password).FirstOrDefault();
            
            if (adminvar != null)
            {
                if (adminvar.Type== true)
                {
                    TempData["IsGlobalAdmin"] = true;
                    return RedirectToAction("Welcome");
                }
                else
                {
                    TempData["IsGlobalAdmin"] = false;
                    return RedirectToAction("Welcome");
                }
            }
            else 
            {
                return View();
            }
        }
        public ActionResult Welcome()
        {
            ViewBag.Message = "Welcome Admin - Admin Account Page";
            return View();
        }

我的观点

@model IEnumerable<StudentReg.tbl_Admin>
<div class="well">
    <center><h4><b>Navigate To: </b></h4></center>
    @if ((bool)TempData["IsGlobalAdmin"])
    {
        <center><p>@Html.ActionLink("Admin Management","ListAdmin")</p></center>
    }
    <center><p>@Html.ActionLink("Student Management","ListStudent")</p></center>
</div>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)