IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Gestion de session sur bouton précédent


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Par défaut Gestion de session sur bouton précédent
    Bonjour tout le monde !

    Me revoilà avec un souci, et cette fois en vb.net.

    Je vous explique:
    J'ai une appli en vb.net qui utilise les composants Infragistics.
    Dans cette appli, on a une page personne.aspx sur laquelle a été mise en place un composant Infragistics (donc auto Ajaxé). Ce composant permet d'afficher des personnes, etc...
    On peut donc à volonté, sur la même page, sélectionner différents critères de recherche et afficher les résultats en fonction de la recherche sans le rechargement de la page.

    Je vous avoue que je trouve les composants Infragistics très mauvais...

    Bon là n'est pas le sujet. Les clients qui utilisent l'appli souhaiteraient que lorsque que l'on clique sur le bouton précédent du navigateur, l'on revienne sur la même page personne.aspx, mais comme si on l'affichait pour la première fois(ok, ça sert à rien vu que c'est Ajaxé, mais c'est pas moi qui décide).

    La première idée qui m'est venue a été de gérer la chose avec des sessions.

    Donc en gros, sur ma page personne.aspx j'ai ceci dans le code behind, dans le page_load, dans le cas où mon post back est false:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If HttpContext.Current.Session("Personne") Is Nothing Then
         Session("Personne") = "Personne" 
    End If
    Vous vous en doutez, quand on clique sur le bouton précédent, on revient bien sur la page précédente en soi. Ici en l'occurrence, on revient donc sur la page d'accueil de l'appli.

    Donc, ce que j'ai fait dans la page d'Accueil de mon appli dans le page_load :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Not HttpContext.Current.Session("Personne") Is Nothing Then
         Session.Remove("Personne")
         Response.Redirect("personne.aspx")
    End If
    Mais bien sûr ça ne fonctionne pas, quand je reviens sur la page d'accueil il ne me redirige pas sur la page personne.aspx, il ne fait rien ^^. Même si la session est bien retenue.

    Je sais que la gestion du bouton précédent n'est pas évidente, voire quasiment impossible, alors je voudrais savoir s'il existe tout de même un moyen de gérer ce genre de procédé.

    Merci de votre aide !

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Y a pas d'aller/retour sur serveur en cliquant sur précédent.
    A la limite, tu peux forcer l'expiration de la page

  3. #3
    Membre éclairé Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Par défaut
    Heu oui mais je ne vois pas comment faire, je suis un peu paumé là, j'ai recherché au niveau du response.expire, mais alors pour le mettre en place je suis totalement perdu.

    Edit: Je me suis renseigné, j'ai trouvé ceci pour forcer l'expiration de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Response.AddHeader("cache-control", "no-store, must-revalidate, private")
            Response.AddHeader("Pragma", "no-cache")
            Response.Expires = -1
    Bon ok, je vois globalement, mais le souci c'est comment "catcher" le fait que l'on a cliqué sur le bouton précédent. Quand je clique sur le bouton précédent, je voudrais déclencher mon expiration.

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    PublicSharedSub InactiveCacheClient()
     Try
    InactiveCacheClient(HttpContext.Current)
     Catch ex As Exception
     EndTry
    EndSub
    PublicSharedSub InactiveCacheClient(ByVal context As HttpContext)
     ' Fonction évitant la gestion du cache coté  client
    Try
    context.Response.CacheControl = "no-cache"
     context.Response.AddHeader("Pragma", "no-cache")
     context.Response.ExpiresAbsolute = DateTime.Now.Date
     context.Response.Expires = -1
     Catch ex As Exception
     EndTry
    EndSub
    

  5. #5
    Membre éclairé Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Par défaut
    J'avais vu ce code dans un autre sujet dans lequel tu intervenais : (Rafraichissement sur bouton précédent. )

    Je pensais qu'il y avait une autre solution, mais bon celle-ci marche nikel !

    Je te remercie de ton aide ^^.

    Sujet résolu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WS 2008 R2] [GPO] Gestion des sessions sur dossiers partagés
    Par alex_m94 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 15/11/2011, 17h21
  2. empecher postback sur bouton précédent du navigateur
    Par remitbo dans le forum ASP.NET
    Réponses: 4
    Dernier message: 28/05/2009, 10h57
  3. Conserver contenu textarea sur bouton "précédent"
    Par Delprog dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/08/2007, 15h44
  4. Problème sur bouton "Précédent"
    Par MAMANHOU dans le forum IHM
    Réponses: 2
    Dernier message: 06/07/2007, 13h29
  5. Gestion d'un panier: session et bouton précédent
    Par renaud26 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2006, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo