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 :

[2.0] Raffraichissement de la page précédente


Sujet :

ASP.NET

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Par défaut [2.0] Raffraichissement de la page précédente
    Bonjour,

    Mon client me pose une petite colle. Quand il se déconnecte d'une application et qu'il s'amuse à faire "Précédent" avec son navigateur, il voit l'écran comme s'il n'avait pas été déconnecté. Bon s'il effectue une action, il est éjecté car pas connecté mais c'est chiant du coup... Faudrait que la page précédente soit raffraichie et je ne vois pas comment faire...


    Pour info :

    -> Oui j'ai bien tué les variables de session
    -> J'ai mis ceci en place

    <META Http-Equiv="Cache-Control" Content="no-cache">
    <META Http-Equiv="Pragma" Content="no-cache">
    <META Http-Equiv="Cache" Content="no store">
    <META Http-Equiv="Expires" Content="0">


    J'ai cherché sur le net et j'ai trouvé quelques trucs, des sujets qui ont soulevés plus ou moins le problème mais rien de foliechon...

  2. #2
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Salut Sadneth


    J'ai bien peur que ton souci n'ai pas de solution, amis je peux me tromper.
    En effet, si on analyse la bestiole dans le détail, que ce passe t il lorsque tu clique sur précédent :
    IE va chercher dans ces fichiers temporaires et recharge la page qui porte la date du précédente affichage.
    Il remonte tout le biniou en HTML de base, vu que c'est ce qu'il a reçu au départ.
    Et donc, il ne va pas sur le serveur pour reprendre les informations de connection.

    Toutefois, on me dit dans l'oreillette que le HTTPS aurait un comportement un peu différent et que lui, quoi qu'il arrive va sur le serveur chercher des informations

    Voilà, je me doute bien que ça ne t'avance pas trop, mais bon, tu connais mon niveau et mon envie de donner un coup de main.

    SaumonAgile, t'aurais pas une idée, je crois que tu touche un peu sur ce genre de question ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 62
    Par défaut
    au mieux tu peux le faire tomber sur une page "votre session a expiré" quand il fait précédent
    sinon dis lui que c'est une appli web et pas une application windows et que tu ne peux rien faire au niveau du comportement et que lorque qu'il aura des vrais remarques constructives a faire sur le sujet il te fasse signe

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    As-tu essayé d'ajouter un postback côté client au moment de la déconnexion ?
    C'est ce que je fais et a priori ça marche (...parfois).

    Sur mon bouton de déconnexion qui casse la session j'ai ajouté:
    BtnDeconnexion.Attributes.Add("OnClick","javascript:doPostback") et en cas de retour je n'ai plus le nom de l'utilisateur qui vient de se déconnecter dans mon loginName.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Par défaut
    Hello @ tous !

    Bizarre, j'ai pas reçu de mail comme quoi j'avais des réponses alors que j'ai coché la case !


    Merci pr vos réponses déjà !

    Salut Erick ! Je savais que tu étais dans les parages mais 800 posts sur developpez.com, je reste sur le cul ! Faudrait peut être venir sur le forum des Acteurs

    Sinon, j'ai essayé : lbDeconnexion.Attributes.Add("OnClick", "javascript:doPostback") et même comportement !

    Ensuite pour vos remarques, le client est roi. Et quand bien même : essayez d'aller sur le site de votre banque, consulter vos comptes, déconnectez vous et faites un retour avec le bouton précédent de votre navigateur ! C'est ça que je veux...

  6. #6
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Alors dans ce cas effectivement le HTTPS est peut etre indiqué... Si tu veux faire comme les banques.
    Mais là, il ne faut plus etre programmeur mais admin iis

  7. #7
    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
    Si c'est possible, on le fait chez nous.
    Je vais voir si je retrouve ça

  8. #8
    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
    Voilà, je pense que c'est cette fonction qu'on appelle quand on veut avoir le comportement souhaité:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Shared Sub 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
            End Try
        End Sub

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Par défaut
    C'est joli , mais on pourrait avoir un petit exemple...

    Tu l'appelles quand la fonction ?...

  10. #10
    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
    Bah dans le on_load de ta page par exemple

  11. #11
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Je viens de refaire quelques tests, la technique de lutecefalco provoque un "page web a expiré" sous IE. Firefox affiche la page précédente sans broncher.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  12. #12
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par calagan99 Voir le message
    Alors dans ce cas effectivement le HTTPS est peut etre indiqué... Si tu veux faire comme les banques.
    Mais là, il ne faut plus etre programmeur mais admin iis
    Il suffit d'associer un certificat au serveur, de définir le port HTTPS, et enfin, de configurer le site pour n'accepter que les connexions sécurisées.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  13. #13
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Par défaut
    Merci Lutecefalco mais cela ne marche point

    Citation Envoyé par lutecefalco Voir le message
    Voilà, je pense que c'est cette fonction qu'on appelle quand on veut avoir le comportement souhaité:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Shared Sub 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
            End Try
        End Sub

  14. #14
    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
    Ca marche chez nous donc t'as du faire une erreur en l'appelant

  15. #15
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Par défaut
    j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            CacheContext.InactiveCacheClient(Me.Context)
     
            Response.Write("Page B<br><br>")
            Response.Write("Déconnexion")
        End Sub
    et CacheContext.InactiveCacheClient représente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Class CacheContext
     
        Public Shared Sub 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
            End Try
        End Sub
     
    End Class

  16. #16
    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
    Oui mais faut le faire dans la page qui est la page qd tu fais Précédent.
    Pas dans la page où tu fais précédent

  17. #17
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Oui mais faut le faire dans la page qui est la page qd tu fais Précédent.
    Pas dans la page où tu fais précédent
    Et dans le cas où le "précédent" est un postback de la même page ?
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  18. #18
    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
    Bah faut le faire dans toutes les pages alors

  19. #19
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Bah faut le faire dans toutes les pages alors
    J'ai essayé hier soir, et comme dit précédemment, cela provoque un "page web a expiré" sous IE. Par contre, Firefox affiche la page précédente (cad la même page avant le postback) sans broncher.

    Une idée ?
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  20. #20
    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
    Jamais réfléchi à ça non.
    On a ce besoin pour un intranet et tlm utilise IE

Discussions similaires

  1. [JSP] page précédente avec window.history.go(-1)
    Par marti dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 08/06/2006, 15h05
  2. connaître le NOM de la page précédente ... est ce possible ?
    Par jojodunord dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 21/12/2005, 11h19
  3. Récupérer l'url d'une page précédente
    Par Linoa dans le forum Langage
    Réponses: 3
    Dernier message: 28/09/2005, 10h28
  4. Réponses: 2
    Dernier message: 06/03/2003, 16h37

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