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 :

Forcer le rechargement d'une page


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 10
    Par défaut Forcer le rechargement d'une page
    Voila g un problème qui me bloque completement.
    J'ai construit un formulaire qui me permet d'effectuer l'insertion de données.
    Quand je valide le formulaire a l'aide d'un LinkButton je souhaite dans l'evénement associer déclencher le rechargement de la page sur le navigateur du client. En effet quand je valide je veu que la page sois réinitialisée completement .
    Sinon quand le client actualise, l'opération d'insertion s'effectue une seconde fois. Je doit absolument trouver comment forcer la page à se réinitialiser.

    Merci d'avance pour votre aide.

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    met enableviewstate à false.

  3. #3
    Membre habitué
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 10
    Par défaut
    Ma page construit une représentation d'un arbre stocké dans une base. Cette page me permet également d'ajouter de nouvelles branches à un noeud de l'arbre. Quand j'ajoute un sousNeud en cliquant sur le fameut linkbutton celui ci déclenche la création d'un objet noeud qui possede une méthode d'insertion dans la base.
    Cette méthode est appelée, les infos sont insérées dans la base, mais ce noeud n'apparait pas dans la page quand elle semble s'actualiser. L'utilisateur va penser que l'insertion n'est pas affichée et donc va actualiser la page. En faisant cela il relance la procédure d'insertion d'un nouveau neud identique. Apres cette actualisation on se retouve avec un noeud affiché dans la page, et 2 noeud identiques dans la base.

    Pour le view state ca ne fonctionne pas quand je clique sur le linkButton qui doit valider la page semble s'actualiser mais il n'y a pas de vrai actualisation comme je le décrit plus haut.
    En fait quand j'actualise le navigateur me dit que des informations ont été envoyé par post et qu'actualiser répete les action effectuées (comme un achat en ligne).

    Pour contourner ça j'avais pensé que l'évenement (onClick) déclenché par mon boutton, appres avoir inséré les infos dans la base, pourrait provoquer une réinitialisation complete de la page de mainère à ce que l'utilisateur aie devant lui la page telle qu'il l'aurait si il venait seulement de la charger.
    Pardonnée mes explication peu etre confuse, je developpe en ASP.net depuis peu dans le cadre d'un stage et il ya des mécanismes que je n'ai pas du correctement assimiler

    Je suis bien coincé et il faut absolulment que j'arrive faire correctement cette page sinon le site ne sera pas stable.

  4. #4
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    Utilise AJAX. Mais je ne comprends pas un truc. tu fais ton insert normalement tu retournes sur ta page qui donc s'actualise. je pense que tu ne gères pas bien la mise à jour de ton arbre.

  5. #5
    Membre habitué
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 10
    Par défaut
    Justement le but n'est pas de recharger juste l'affichage de l'arbre.

    Voila comment se présente la page

    ---------------------------------------
    _________div 1
    noeud racine (1)
    -----noeud (1.1)
    ----------noeud (1.1.1)
    ----------noeud (1.1.2)
    -----noeud (1.2.)
    ----------noeud (1.2.1)
    ----------noeud (1.2.2)
    ---------------noeud (1.2.2.1)
    __________________________________
    div 2
    nom nouveau noeud : textbox
    linkButton valider
    ---------------------------------------

    etc...
    le principe est :
    tu clic sur un noeud, ca rappelle la page avec comme paramètre l'identifiant du noeud. Ensuite, pour ajouter un nouveau noeud tu entre son nom dans la textbox est tu valide. Il y a un requireFieldValidator sur la text box, on ne peut inserer un noeud sans préciser son nom.

    ex: si je clic sur noeud (1.1) je recharge la page avec l'url : http://monsite/gestionArbre.aspx?NoeudId="ID_Noeud(1.1)"
    ensuite j'entre le nom dans la text box et je valide.

    Normalement quand la page se recharge on devrait voir apparaitre un nouveau noeud : noeud(1.1.3) qui porte le nom choisi.
    Sauf qu'il n'apparait pas. De plus si je clic sur un autre noeud le requireField validator m'enquiquine et enfin si je cherche à actualiser la page (parle boutton actualiser et non par revalidation de l'url) mon navigateur me donne le message comme quoi il va effectuer une nouvelle fois ce qu'il vient de faire, en gros recommencer l'insertion avec les meme parametre et je me retrouve ac une copie du noeud(1.1.3) en position (1.1.4).

    Ajax me permettrait de remédier au problème d'affichage en rechargeant la partie d'affichage de l'arbre, nommée div1, ici mais ca ne regle pas le problème du requireFieldValidator qui se comporte mal.
    Ce controle de validation est désactivé dans l'évenement page_Load puis activé dans l'événement onclick du linkButton ou je teste sa valeur pour réaliser ou nom l'insertion dans la base.
    En fait je me demandait si je pouvait relancer l'évenement page_load à la fin de l'événement onclick pour que ma page recommence tout son cycle de vie(avec les données inserées).

  6. #6
    Membre habitué
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 10
    Par défaut Ma solution
    Après maintes recherche sur google j'ai eu l'idée de faire des recherche avec le mot clé redirection et la bingo !!!

    En fait ce que j'ai trouvé est simple : dans une page on peut avoir accès à la propriété reponse qui possede la methode Redirect(String url) qui permet lors de l'allé retour serveur de choisir ce que renvoie le serveur.
    voila.

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

Discussions similaires

  1. forcer le rechargement d'une page malgré une ancre nommée
    Par fartounet dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/07/2010, 08h57
  2. Réponses: 3
    Dernier message: 02/12/2006, 17h17
  3. [CSS] Forcer l'ascenseur sur une page.
    Par Angeldu74 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 23/01/2006, 22h33
  4. Rechargement d'une page après ouverture de deux popups
    Par petitmoosse dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2005, 16h39
  5. Forcer l'affichage d'une page dans un cadre
    Par Thcan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/11/2005, 10h58

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