2013-06-20 4 views
0

Dans l'événement click, j'ai une insertion dans la base de données et un Response.Redirect pour afficher un aperçu de l'enregistrement.Button Click Événement déclenché après Response.Redirect

Le problème étrange est que si j'ai cliqué 3 fois sur le bouton, j'aurai 3 nouveaux enregistrements dans la base de données. Ce qui est étrange, car Response.Redirect est exécuté après la première insertion.

NB:

  • Le bouton est à l'origine d'un postback complet parce que je dois télécharger des fichiers sur le serveur

  • J'ai essayé Response.Redirect avec option faux-vrai

  • J'ai essayé Server.Transfer

Voici mon code:

protected void B_Save_Click(object sender, EventArgs e) 
{ 

Insert_Account(); 

Response.Redirect("index.aspx"); } 
+2

Vous allez devoir fournir du code avant que quelqu'un ne puisse vraiment vous aider. – ORION

+0

Vous devrez peut-être éviter plusieurs clics. Comme désactiver le bouton après le clic. Je l'ai déjà expérimenté et j'ai encore besoin de savoir pourquoi il est permis – codingbiz

Répondre

3

Ce comportement est normal si le bouton a été rapidement cliqué et l'opération d'insertion est lente. Fondamentalement, vous soumettez plusieurs demandes avant que la redirection ait une chance de vous revenir.

La solution la plus simple consiste à bloquer le bouton côté client à l'aide de javascript. Vous pouvez afficher une sorte de notification de traitement. Ceci est généralement vu avec la présentation des caddies et autres.

+0

Eh bien, j'ai utilisé des variables de session comme un drapeau afin que je puisse savoir où c'est le premier soumettre de toute façon merci pour votre suggestion –

Questions connexes