2017-09-14 5 views
0

J'ai mis mon cookie dans la section de connexion comme ceci:Comment obtenir Cookie défini avec Response.SetCookie (cookies) de Asp MVC en utilisant javascript

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

Je peux accéder et modifier en entier le même cookie à le view en utilisant ce code:

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

mais si je mets cela dans un fichier .js, j'obtiens l'erreur à @Convert.ToInt32(HttpContext.Current.Request.Cookies["sys_user_id"].Value);. C'est parce que le fichier .js ne peut pas lire la syntaxe du rasoir. Existe-t-il un moyen d'obtenir mon cookie "sys_user_id" et le convertir en un entier en utilisant javascript afin que je puisse le placer dans mon fichier .js?

Répondre

0

Pour ceux qui n'ont pas encore eu la réponse à ce genre de question, voici comment je l'ai fait.

J'ai créé une nouvelle fonction comme ceci:

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 ""; 
} 

alors j'ai appelé mon cookie "de sys_user_id" en utilisant ce code:

var sysUserId = getCookie("sys_user_id); 

C'est le poste pour cette réponse: How to get server side cookies value in javascript?