2009-12-14 7 views
1

Je sais comment procéder lorsqu'un utilisateur clique sur un bouton. Par exemple:Invocation d'une boîte de message contextuelle 'Confirmer' dans ASP.NET

imgBtnDelete.Attributes.Add("onclick", "return confirm('Please confirm you want to delete the letter')") 

Ma question est:

Dire que j'ai un morceau de code-behind pas lié à un clic, le calcul de la valeur d'un booléen, et si le booléen est vrai, alors je veux le message ok avec/annuler pour apparaître.

f.e .:

bool hasMoney = ... 

if (hasMoney) 
{ 
\\message box.. 
} 

Comment puis-je faire?

+0

Voulez-vous encore ajouter l'attribut onclick même si la valeur booléenne est fausse? – rahul

Répondre

0

Vous pouvez faire quelque chose comme ceci:

private void OpenConfirmPrompt() 
{ 
    string strScript = "<script language=JavaScript>alert('File Uploaded');</script>"; 

    if (!ClientScript.IsStartupScriptRegistered("open")) 
    { 
     ClientScript.RegisterStartupScript(typeof(Page), "open", strScript); 
    } 
} 

Et changer la JS là pour répondre.

Appelez donc cette fonction à partir d'un événement côté serveur.

Edition, bien meilleure explication que moi here

+0

C'est exactement ce dont j'avais besoin! Merci! Mais maintenant, il y a une nouvelle question: je suis au milieu de la logique, la boîte de message a sauté, et l'utilisateur a cliqué sur OK/CANCEL. Comment puis-je savoir ce qu'il a cliqué afin que je puisse continuer ma logique en conséquence? – user181218

+0

Le Ajax ConfirmButton comme suggéré par Phil est un moyen. Sinon, votre JS devra inclure un do_postback http://aspalliance.com/895_Understanding_the_JavaScript___doPostBack_Function Cela vous permet de publier un arugment et une clé que vous pouvez gérer lors du chargement de la page. – Jammin

+0

Mon ci-dessus suppose que vous ne pouvez pas continuer votre logique dans JS pur – Jammin

0

Pourquoi ne pas utiliser l'extension ConfirmButton du Ajax Control Toolkit? Alors plutôt que d'écrire le JavaScript vous-même, vous pouvez simplement définir la propriété Enabled dans votre code-behind par exemple.

<asp:Button runat="server" ID="MyButton" Text="My Button" /> 
<ajaxtoolkit:ConfirmButtonExtender runat="server" id="MyButtonConfirmExtender" TargetControlID="MyButton" ConfirmText="Continue?" /> 

et

if (whatever) 
{ 
    MyButtonConfirmExtender.Enabled = true; 
} 
Questions connexes