Probleme pour l'affichage de la page precedente

DrikC95220 Messages postés 7 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 11 octobre 2005 - 1 févr. 2005 à 13:49
DrikC95220 Messages postés 7 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 11 octobre 2005 - 2 févr. 2005 à 12:52
Bonjour à tous,

J'aurrai besoin d'aide car cela fait près d'une semaine que j'essais de régler mon problème.

Mon application est en ASP.NET, mon code derrière est en VB.NET et j'accede à une base de donnée en SQL server.

Problème :

J'ai une varriable de session qui se remplie lorsque j'effectue une requète, ensuite, une page s'affiche avec les resultat d'une autre requète qui utilise ma varriable de session.
Le problème ce pose lorsque l'utilisateur veut revenir sur la page precedente. La varriable de session ne prend pas la nouvelle valeur quand la requète s'execute, la page qui s'affiche est la même que celle qui s'était affichée la première fois.

Pour y remedier j'ai essayé le code suivant dans les premières lignes du bouton qui lance ma première requete :


Session.Clear()

et

Session.RemoveAll()

seulement ça ne marche pas.

Si il existe une solution je suis preneur. Sinon si il est possible de forcer l'affichage d'une page donnée lorsque l'utilisateur clique sur le bouton précédent de son navigateur cela pourrait resoudre aussi mon problème.

Merci d'avance à tous ceux qui pourrons m'aiguiller vers une solution quelle qu'elle soit.

4 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 févr. 2005 à 14:38
Je n'ai pas tout a fait saisi la question.



Es tu sur que la page que l'utilisateur affiche ne provient pas du
cache d'IE, tu pourrais essayer de reformuler ta question. Et mettre un
peu de code.



t'as vérifié la valeur de ta session, tu n'as qu'a faire un simple
response.write(session("variable")) et pour vérifier si la page
provient du cache d'IE, tu n'as qu'a faire response.write("La page a
été chargé a " & DateTime.now.tostring) mais j'ai encore pas
compris comment se cache fonctionne.




<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr
0
cs_AC1 Messages postés 116 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 25 mars 2010
2 févr. 2005 à 08:01
En asp 3 il y avait cette instruction
Response.ExpiresAbsolute=now()-1
pour forcer l'expiration de la page.
Voir si la même chose en Net.

AC1
Databases on the Web & on the LAN
0
DrikC95220 Messages postés 7 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 11 octobre 2005
2 févr. 2005 à 09:53
Salut Jesus

Voici mon code lorsque j'affiche ma page de resultat :

Dim Zs_CodeArticle as System.Web.UI.WebControls.TextBox
Chaine "SELECT IMITM FROM INFOCENTRE.dbo.F4101 WHERE IMLITM '" & Zs_CodeArticle.Text & "'"
InitOleDbCommand1(Chaine)


Dim ResultatRequete As
Data.OleDb.OleDbDataReader



ResultatRequete = OleDbCommand1.ExecuteReader()


ResultatRequete.Read()


Session.Add("NumArticle", ResultatRequete.Item("IMITM"))


ResultatRequete.Close()


' Affiche la WebForm AfficheArticle.aspx
Response.Redirect("affichearticle.aspx")

Le probleme n'est pas là mais lorsque l'on à affiché la page affichearticle.aspx et que l'on revient sur la premiere page, on saisi un autre code d'article et c'est toujours la page du "premier" code article qui s'affiche dans affichearticle.aspx.

J'espère que je me suis mieux exprimé et que tu aura compris ou est mon problème et se que je veu faire.
0
DrikC95220 Messages postés 7 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 11 octobre 2005
2 févr. 2005 à 12:52
C'est bon AC1 avait raison mon problème n'est plus.

La syntaxe est un peut differrente mais ça marche.

Il fallait mettre ce code dans le page_load de afficheArticle.aspx :

Response.ExpiresAbsolute = Now()

Merci à toi AC1.
0
Rejoignez-nous