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 :

[ASP.Net]g�rer la notion de "page p�rim�e" ?


Sujet :

ASP.NET

  1. #1
    VVE
    VVE est d�connect�
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Par d�faut [ASP.Net]g�rer la notion de "page p�rim�e" ?
    Hugh � toutes et � tous,

    petit pb de fond en architecture web :

    comment g�rer une "date de p�remption" d'une page c�t� client ?

    je m'explique :

    a. une page est g�n�r�e dynamiquement avec une datagrid remplie � partir d'une table de ma bdd
    b. des fonctions d'ajout / suppression permettent � l'utilisateur de modifier les donn�es.
    c. si l'utilisateur utilise le bouton pr�c�dent de son navigateur (le vicieux !), il pourra afficher des pages avec des donn�es p�rim�es...

    Comment, c�t� client, savoir si la page affich�e vient du serveur (donn�es fra�ches) ou si elle vient de l'historique c�t� client (donn�es p�rim�es) ?

  2. #2
    VVE
    VVE est d�connect�
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Par d�faut
    Bon, je n'ai pas bcp de succ�s avec mon post...

    Peut-�tre quelqu'un a d�j� r�aliser un truc comme "comment afficher une page une seule fois"

    L'id�e que je cherche � suivre :

    a. au chargement (� l'ouverture ?) de la page, un javascript (donc, c�t� client) teste la valeur d'un champ cach�,
    b. si FALSE, alors, c'est la 1�re fois qu'on ouvre => OK et on change la valeur du champ cach� en mettant TRUE
    c. si TRUE, alors, la page a d�j� �t� charg�e => les donn�es sont "p�rim�es" => on redirige vers une page de message d'erreur

    Je d�but en programmation web, mais cet algo me para�t faisable. Qu'en pensez-vous ?

    Sur quel �v�nement de la page dois-je appeler ce javascript c�t� client (est-ce que onLoad() existe ?) ?...

    Est-ce que les champs cach�s (hidden) conservent leurs valeurs lorsqu'ils sont stock�s dans l'historique des pages c�t� client ?


    merci de vos tuyaux...

    Vincent

  3. #3
    VVE
    VVE est d�connect�
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Par d�faut
    Bon mon id�e semblait bonne.

    Voil� ce que j'ai fait :

    un JavaScript (inclus dans le module MenuBouton.js) avec le code suivant

    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
    18
    19
    20
    21
     
    function CheckPagePerimee()
    {
    	var PageDejaVueCoteClient = document.getElementById("flagDejaVue");
     
    	if (PageDejaVueCoteClient != null)
    	{
    		if (PageDejaVueCoteClient.value != "")
    		{
    			{
    				/* redirige vers page msg "données périmées" */
    				document.location.href = "../PagePerimee.aspx";
    			}
    		}
    		else
    		{
    			/* change la valeur du flag */
    			PageDejaVueCoteClient.value = "KillRoyWasHere";
    		}
    	}
    }
    Dans la page ASPX qui contient les donn�es dynamiques, j'ai ajout� le code suivant :


    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
    18
    19
    20
    21
     
    	<HEAD>
    		<script src="../scripts/menuBoutons.js" language="javascript"></script>
    		<script language="JavaScript">
    		function page_load()
    		{
    			CheckPagePerimee();
     
    			(... suite du code...)
     
    		}
    		</script>
    	</HEAD>
    	<body leftMargin="0" topMargin="0" onload="page_load();">
    		<form id="Form1" method="post" runat="server">
    			<input type="hidden" name="flagDejaVue" id="flagDejaVue">
     
    			(... suite du code...)
     
    		</form>
    	</body>

    ma page "PagePerimee.aspx" contient un texte du genre "Page P�rim�e, impossible d'afficher cette page avec le bouton PRECEDENT de votre navigateur car elle contient des donn�es g�n�r�es dynamiquement depuis le serveur. Pour afficher cette page correctement, utilisez un lien ou un bouton du site."


    Woila, �a marche, mais y'a quand m�me un temps de latence (1/2 � 1 sec) la premi�re fois que j'utilise le bouton PRECEDENT. Comme si la page s'affiche dpuis un "cache" c�t� client, puis le script se d�clenche sur le "onLoad"...

    Est-ce que qelqu'un a mieux ?

    Vincent

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 11/03/2008, 19h38
  2. R�ponses: 4
    Dernier message: 27/06/2007, 13h38
  3. R�ponses: 4
    Dernier message: 17/03/2007, 21h31
  4. R�ponses: 1
    Dernier message: 28/02/2007, 19h09

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