首页 > 解决方案 > ASP.NET MVC 应用程序 cookie 未在 Internet Explorer 的请求中发布

问题描述

在此处输入图像描述我有一个用 ASP.NET MVC 3.0 开发的网站,登录页面有语言选择下拉菜单以支持本地化。一旦下拉菜单借助 javascript 获取新值,我将为所选的新语言设置 cookie 值,并使用 location.reload() 刷新页面。但是我在 IE 调试工具中检查了请求没有 cookie 值。但是,在 Chrome 和 Mozilla 中,它按预期工作。我无法像在 IE 浏览器中的本地代码中那样在本地调试,而且它工作正常。唯一的问题是在部署时它不仅在 IE 浏览器中工作。

   $("#Language").change(function () {
        var lang = $('#Language').find(":selected").val();
        alert('language: ' + lang);
        createCookie("myCookie", lang,1);
        location.reload();
    });
   function createCookie(name, value, days) {
        var expires = "";
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            expires = "; expires=" + date.toUTCString();
        }
        document.cookie = name + "=" + value + expires + "; path=/";
    }

C#:

        var cookie = Request.Cookies["MyCookie"];
        if (cookie != null)
            cookieValue = cookie.Value;

问题在于 cookie。我在 Local Key Value cookie1 Token= cookie2 Refresh= ASP.NET_SessionId iijh3fbbh3qwge0l5gq33u13 userLangChoice es cookie6 Token= cookie7 Refresh= 中获得的以下 cookie 值

但部署的站点中不存在 userLangChoice cookie。

标签: asp.netinternet-explorercookies

解决方案


推荐阅读