Je fais ce qui suit pour définir une valeur de cookie:
HttpCookie mycookie = new HttpCookie("mycookie");
mycookie.value = "value1";
mycookie.Expires = DateTime.Now.Add(1);
HttpContext.Current.Response.Cookies.Add(mycookie);
Quelque temps plus tard, je vérifie le cookie en utilisant:
HttpCookie mycookie = HttpContext.Current.Request.Cookies["mycookie"];
Je remarque qu'il a toujours une valeur plus ancienne:
mycookie.value == "oldValue"
Je peux même vérifier le cookie immédiatement après l'avoir défini et la valeur que j'ai définie n'est pas là. C'est toujours l'ancienne valeur.
Que se passe-t-il si la valeur n'est pas définie et comment puis-je la définir?
Essayez ceci, vous devez le supprimer, puis l'ajouter.
var response = HttpContext.Current.Response;
response.Cookies.Remove("mycookie");
response.Cookies.Add(cookie);
<script type="text/javascript">
<!--
function WriteCookie()
{
if(document.myform.customer.value==""){
alert("Enter some value!");
return;
}
cookievalue=escape(document.myform.costomer.value)+";";
document.cookie="name="+cookievalue;
document.write("Setting Cookies:"+"name="+cookievalue);
}
//-->
</script>
</head>
<body>
<form name="myform" action="cook.html">
Enter name:<input type="text" name="customer"/>
<input type="button" value="set Cookie" onclick="WriteCookie();"/>
</form>
</body>
</html>