仅在首次访问时IE11中的会话Cookie错误(MVC应用程序)

时间:2016-07-13 14:33:01

标签: session cookies asp.net-mvc-5 internet-explorer-11

我有一个网站对'“authLevel”执行会话检查,以显示(或不显示)管理功能的链接。

支票:

@if (Session["authLevel"].ToString() == "Admin")
{
    <li>@Html.ActionLink("Admin", "User_Maintenance", "Admin")</li>
}

这在其他浏览器(chrome,firefox,opera)中运行良好,但是我第一次在IE中启动应用程序并尝试登录(这会创建会话)时,它会给我一个空引用错误:

System.NullReferenceException {"Object reference not set to an instance of an object."}

我在每个页面的控制器中设置会话。

if (User.Identity.IsAuthenticated)
        {
            string userName = User.Identity.GetUserName();
            string str = User.Identity.GetUserId();

            User _user = Testing.Models.User.GetById(str);
            Session["empUserId"] = _user.Id;
            Session["displayName"] = _user.UserName;

            if(_user.isAdmin) {
                Session["authLevel"] = "Admin";
            }
            else
            {
                Session["authLevel"] = "User";
            }

        }

我没有在任何其他浏览器中出现此错误,但此应用程序在所有浏览器中无缝运行非常重要。

0 个答案:

没有答案