如何使用javascript从Asp MVC使用Response.SetCookie(cookie)设置Cookie

时间:2017-09-14 08:07:21

标签: javascript asp.net asp.net-mvc asp.net-mvc-4 cookies

我已经在登录部分设置了我的cookie,如下所示:

var cookie = new HttpCookie("sys_user_id", (query.UserAccountId).ToString())
{
    Expires = DateTime.Now.AddDays(1)
};
Response.SetCookie(cookie);

我可以使用以下代码访问并更改view处相同Cookie的整数:

<script>
    var sysUserId = @Convert.ToInt32(HttpContext.Current.Request.Cookies["sys_user_id"].Value);
</script>

但如果我把它放在.js文件中,我会在@Convert.ToInt32(HttpContext.Current.Request.Cookies["sys_user_id"].Value);收到错误。这是因为.js文件无法读取剃刀语法。有没有办法获取我的“sys_user_id”cookie并使用javascript将其转换为整数,以便我可以将它放在我的.js文件中?

1 个答案:

答案 0 :(得分:0)

对于那些尚未得到这类问题答案的人来说,我就是这样做的。

我创建了一个新功能:

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');

    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)===' ') c = c.substring(1);
        if (c.indexOf(name) === 0) return c.substring(name.length,c.length);
    }

    return "";
} 

然后我使用以下代码调用了我的“sys_user_id”cookie:

var sysUserId = getCookie("sys_user_id);

这是这个答案的帖子: How to get server side cookies value in javascript?