2010-08-12 4 views
1

je suis en train de maintenir des données dans les cookies, mais après la publication si je vérifie la valeur des cookies dans pageload la valeur est toujours nullepourquoi les cookies sont toujours nul après la publication

c'est comment je définir et obtenir les biscuits

private static string GetCookie(string name) 
{ 
    return HttpContext.Current.Response != null ? HttpContext.Current.Response.Cookies[name].Value : string.Empty; 
} 

private static void SetCookie(string name, string value) 
{ 
    HttpContext.Current.Response.Cookies[name].Value = value; 
    HttpContext.Current.Response.Cookies[name].Expires = DateTime.Now.AddDays(ExpireTimeInDays); 
} 
+0

D'où vous appelez ces méthodes? D'un événement particulier dans une page ASPX? Pouvez-vous montrer le code dans votre page ou votre gestionnaire qui les appelle? – Eilon

+0

Je pense que vous devez obtenir le cookie de la demande. – dotjoe

Répondre

11

GetCookie() doit utiliser Request.Cookie pas Response.Cookie

3

HttpResponse.Cookies

ASP.NET inclut deux collections de cookies intrinsèques . La collection accédée via la collection Cookies de HttpRequest contient les cookies transmis par le client au serveur dans l'en-tête du cookie. La collection accessible via la collection de cookies de HttpResponse contient de nouveaux cookies créés sur le serveur et transmis au client dans l'en-tête Set-Cookie.

Après avoir ajouté un cookie en utilisant le HttpResponse .. ::. Cookies collection, le cookie est immédiatement disponible dans le HttpRequest .. ::. Cookies collection , même si la réponse a pas été envoyé au client.

changer donc votre occasion d'utiliser la demande

Questions connexes