[c# 1.1]Cookies et asp net
Bonjour,
Je developpe une p'tite application pour moi meme afin d'appronfondir le langage net (c#) sous l'environnement visual studio 2003 !
J'ai un p'tit souci avec des cookies !
j'ai une form que je remplis via mes donnees, lorsque la form load je regarde si un cookies existe et si oui je l'affiche dans un textboX.
Code:
1 2 3 4 5 6 7 8 9
|
bool
TestCook = CheckCookies();
if (TestCook == true)
//Affichage
TxtUserId.Text = Request.Cookies["Integration"].Value; |
Et la fonction qui test si le cookie est present ou pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
private
bool CheckCookies()
{
bool chCookies = false;
if (Request.Cookies["Integration"] == null)
{
chCookies =
false;
}
else
{
chCookies =
true;
}
return chCookies;
} |
au demarrage de l'application pour la premiere fois aucun cookies n'existe !
je le cree via le boutton save de la form comme ceci :
Code:
1 2 3 4
|
Response.Cookies["Integration"].Value = TxtUserId.Text.ToUpper();
Response.Cookies["Integration"].Expires = DateTime.Now.AddDays(1); |
Ca tourne bien j'arrive a cree le cookies et le faire affiche apres sa creation mais le souci c'est si l'utilisateur change sa valeur dans le texrbox du cookies et valide a nouveau ces informations le cookies n'est pas ecrase !
Y'a t il une methode pour ecraser le cookies ou pour efface l'ancienne valeur et mettre la nouvelle !
j'ai essaye ceci mais ca ne fonctionne pas !
Response.Cookies["Integration"].Expires = DateTime.Now.AddYears(-30);
ou ca
Response.Cookies["Integration"].Value = "";
J'obtiens toujours la premiere valeur meme si je valide une seconde fois avec une autre valeur !
si vous avez des idées ou des suggestions elles sont les bienvenues !
Je vous remercie
Christophe
y'a quand meme bien moyen !
salut salut,
Bon ca ne fonctionne toujours pas, en fait il garde toujours la meme valeur le cookie !!!
ca doit quand meme bien être possible d'ecraser un cookie !!
je repete mon code :
dans le page load je test si un cookie existe
Code:
1 2 3 4
|
bool TestCook = CheckCookies();
if (TestCook == true) TxtUserId.Text = Request.Cookies["Integration"].Value; |
la fonction checkcookies :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
private bool CheckCookies()
{
//Declaration
bool chCookies = false;
if (Request.Cookies["Integration"] == null)
{
chCookies = false;
}
else
{
chCookies = true;
}
return chCookies;
} |
et mon code lors du clic sur le bouton qui sauve mes datas et qui enregistre donc le cookies !
Code:
1 2 3 4 5
|
Response.Cookies["Integration"] = TxtUserId.Text;
Response.Cookies["Integration"].Expires = DateTime.Now.AddDays(1); |
j'ai beau essaye comme ca :
Code:
1 2 3 4
|
Response.Cookies["Integration"][TxtUserId.Text] = TxtUserId.Text;
Response.Cookies["Integration"].Expires = DateTime.Now.AddDays(1); |
mais la a chaque fois il me rajoute moncookie + moncookie + mon cookie ...
et bon j'ai essaye ceci aussi mais chez moi ca ne fonctionne pas !
Code:
1 2 3 4 5 6 7 8
|
HttpCookie c = Request.Cookies["Integration"];
if (c != null)
{
c.Expires = DateTime.Now.AddHours(-1);
Response.Cookies.Add(c);
} |
Bon je debute y'ap eut etre quelque chose que je fois faire pour faire fonctionne les cookies !
ce qui me parait bizarre c'est que mon cookies est bien sauve dans
C:\Documents and Settings\chb\Cookies
mais pas ecrase !!!
je continue a y regarder si vous avez des idees ..
Bonne journée
Christophe