Insertion double après un F5 de ma page

cs_mathos33 Messages postés 35 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 10 octobre 2010 - 7 mai 2008 à 03:12
cs_mathos33 Messages postés 35 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 10 octobre 2010 - 7 mai 2008 à 18:35
Bonjour

Un petit souci, comme indiqué dans le titre lorsque j'insère une donnée sur ma page asp.net (gridview en insert) et juste après j'actualise ma page (F5 ou actualiser) cela me réinsère le même champ une deuxième fois ! Etonnant non ?! Y a t-il une solution toute bête qui permet de stopper l'insertion une fois terminée ?

Merci de vos réponses

2 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 mai 2008 à 16:05
Etonnant ? non, quand tu fas F5 ton navigateur affiche confirmbox qui dit attention on va renvoyer le résultat du formulaire en post. Coté ASP.net tu recois 2 fois la meme requete, donc "normal" que tu fasses la meme action. Voici deux solutions possible :
- mode "bidouille" mais pratique et simple : après un insert tu fais un response.redirect("tapage"); le response.redirect va te renvoyer un 302 et donc entrainer un get sur ta page, quand tu fera F5 il te referra donc un get et non un post.
- inscrire dans une variable session que le user vient de rajouter une ligne, si ces les memes données alors tu joue pas l'insert (pour savoir ca tu peux calculer un hash de Request.Form)

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
cs_mathos33 Messages postés 35 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 10 octobre 2010
7 mai 2008 à 18:35
Pas bête le response.redirect("tapage") ! c'est toujours mieux que rien

Merci à toi
0
Rejoignez-nous