C# cookies在IE中并不持久,但与Chome配合良好

C# cookies在IE中并不持久,但与Chome配合良好,c#,asp.net-mvc,C#,Asp.net Mvc,我正在使用以下代码添加和更新Cookie: public ActionResult SaveUserTypeCookies(string usertype) { if (Request.Cookies["User"] != null) { HttpCookie cookie = Request.Cookies["User"]; cookie.Values["UserType"] = usertype; cookie.Expires

我正在使用以下代码添加和更新Cookie:

public ActionResult SaveUserTypeCookies(string usertype)
{
    if (Request.Cookies["User"] != null)
    {
        HttpCookie cookie = Request.Cookies["User"];
        cookie.Values["UserType"] = usertype;
        cookie.Expires = DateTime.MaxValue;
        Response.SetCookie(cookie);
    }
    else
    {
        HttpCookie cookie = new HttpCookie("User");
        //Need to remove below comment at production deployement
        //cookie.HttpOnly = true;
        //cookie.Secure = true;
        cookie.Values["UserType"] = usertype;
        cookie.Expires = DateTime.MaxValue;
        Response.Cookies.Add(cookie);
    }
    return RedirectToAction("CreateUpsID");
}
我正在使用下面的代码检查cookies的存在:

 @if (!(Request.Cookies["User"] != null))
{
    <div id="overlay_div" class="overlay"></div>
}
而不是

@if ((Request.Cookies["User"] == null))
以避免任何自动重置为空


这段代码在Chrome上运行良好,但当我使用IE11时,cookies不会持久。

你怎么知道cookies不会持久?您是在直接调试代码还是在检查浏览器开发工具?在side if条件中,我已经输入了一个div,如果cookies为null,那么就会显示div。cookies在IE11中启用了吗?您还可以尝试将当前域添加到受信任的站点,以确保它不是安全问题。您的代码看起来正常,而且它在一个浏览器中工作,这听起来像是浏览器配置或安全问题。你能在另一台机器上尝试Firefox/Safari或IE吗?谢谢你的建议,但我已经尝试启用Cookie,它不起作用。你试过在Visual Studio中调试代码吗?
@if ((Request.Cookies["User"] == null))