0 votes

Lors de l'actualisation du navigateur, les données sont insérées -- Aide !

J'ai une page d'insertion - les données sont insérées correctement avec toutes les validations, mais le problème principal est qu'après l'insertion, si quelqu'un clique sur le bouton de rafraîchissement du navigateur Internet Explorer, les données sont insérées à nouveau, les mêmes données qui ont été insérées sur le bouton de soumission.

Merci, Smartdev

1voto

Jaxidian Points 4946

Effectuez une redirection après avoir réussi l'insertion et cela ne devrait pas se produire. Sinon, vous devrez effectuer vous-même un processus pour vous assurer que cela ne se produit pas (peut-être en utilisant la gestion d'état pour définir un drapeau "A été sauvegardé" ou autre).

0voto

ChessWhiz Points 1914

Une redirection fonctionnerait. Vous pouvez utiliser quelque chose comme ceci :

protected void Page_Load(object sender, EventArgs e)
{
    if(dataWasInserted)
        Response.Redirect("~/TheSamePage.aspx");
}

0voto

ChessWhiz Points 1914

Vous pouvez ajouter un code à votre procédure stockée qui vérifie la base de données avant l'insertion. Si les données que vous essayez d'éviter existent déjà, n'exécutez pas l'insertion.

Si vous voulez vraiment autoriser la répétition intentionnelle de données, mais pas par le biais de rafraîchissements accidentels, vous pouvez utiliser votre horodatage pour aider à déterminer s'il s'agissait d'un duplicata récent que vous voulez bloquer. Cependant, comme vous ne voulez pas de données dupliquées dans votre base de données, je ne recommande pas cette approche.

0voto

Biswa Points 1

Cher utilisateur, vous devez utiliser le code ci-dessous dans la page précédente pour éviter le fonctionnement du bouton retour.

example...

suppose your page 1 is=x.jsp  and page 2 is y.jsp

to restrict x.jsp when u click on y.jsp back button you have to add this code in x.jsp

<SCRIPT type="text/javascript">
    window.history.forward();
    function noBack() { window.history.forward(); }
</SCRIPT>
</HEAD>
<BODY onload="noBack();"
    onpageshow="if (event.persisted) noBack();" onunload="">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X