2009-07-13 8 views
2

J'ai écrit ce statment dans mon code:Confirmer message dans ASP.NET

Response.Write("<script language=javascript>confirm('The system not allow negative inventory,continue?');</script>"); 

comment puis-je handel si l'utilisateur a cliqué sur le bouton "OK" ou "Annuler"?

Répondre

1

Ce code s'exécutera du côté client. Pour savoir si l'utilisateur a cliqué sur OK ou annuler sur le serveur, vous devrez renvoyer votre requête au serveur. Vous ne pouvez pas gérer la boîte de dialogue dans la même requête, car votre code sera terminé avant que l'utilisateur ne voit quoi que ce soit dans son navigateur.

Vous pourriez JavaScript sortie comme ceci:

location.href = 'Handler.aspx?confirmed=' + confirm('Do you want to do X?'); 

Cela envoie le navigateur soit Handler.aspx?confirmed=true ou Handler.aspx?confirmed=false.

0

Sur l'étiquette OnClientClick (dans le fichier ASPX) u peut écrire

confirm('your message'); 

et référence tag onClick de fonctionner dans le code-behind où vous pouvez écrire la fonction qui ne sera exécuté sur cliquez sur OK de la boîte aux messages.

L'utilisation d'une fonction de confirmation javascript permet à un utilisateur de confirmer ou de cliquer sur un bouton. Si l'utilisateur appuie sur oui dans la boîte message/alerte, le clic sur le bouton sera déclenché sur le serveur. Si le bouton non est cliqué, aucun événement ne sera déclenché. Ceci est particulièrement utile avec les boutons utilisés pour la suppression.

button.Attributes("onclick") = "javascript:return " & _ 
       "confirm('Are You Sure you want to do this operation?') " 
2

Vous devez mettre cette confirmation à votre bouton d'envoi comme ça:

btnSubmit.Attributes["onclick"] += 
    "return confirm('The system not allow negative inventory,continue?');" 

Si l'utilisateur clique annuler, votre page ne sera pas postback.

Mais si vous demandez, vous pouvez déterminer l'action de l'utilisateur côté serveur, la réponse est non, pas directement. Vous devriez ajouter un truc, pour obtenir l'action de l'utilisateur. Peut-être que vous devriez définir l'action de l'utilisateur dans un champ caché et au serveur obtenir cette valeur et continuer.

+0

ok mais je ne veux pas que la confirmation apparaisse au clic du bouton, parce que dans le clic du bouton je fais un calcul le je décide si je veux montrer le message de confirmation ou pas –

2

La restriction de ma réponse à Javascript et pas comment le résultat de votre code interagirait avec le flux de la page, la méthode Javascript confirm renvoie la valeur de l'option sélectionnée de l'utilisateur:

var result = confirm('The system does not allow negative inventory. Continue?'); 
if (result == true) 
    // The user wants to continue. Proceed accordingly. 
else 
    // The user does not want to continue. 

Vous pouvez utiliser la valeur pour orienter votre logique en conséquence.

Questions connexes