1

J'ai une application Silverlight et je veux capturer l'événement de fermeture du navigateur. Donc ce que je l'ai fait, dans ma page .aspx j'ai ce codeSilverlight 4: OnBeforeUnload

function closeIt() { 
     return "Any string value here forces a dialog box to \n" + 
    "appear before closing the window."; 
    } 


    window.onbeforeunload = closeIt; 

Si cette fonction déclenchée, un popupWindow apparaît, vous avez 2 boutons OK et Annuler.

Existe-t-il un moyen, dans Silverlight ou côté serveur, d'obtenir la valeur de ce que l'utilisateur clique?

Merci

+0

même solution sur ma question précédente http://stackoverflow.com/questions/3456591/silverlight-4-f5-refresh – xscape

Répondre

0

Pourquoi utilisez-vous pas MessageBox? voici exemple de code:

MessageBoxResult result = MessageBox.Show("Text","Title",MessageBoxButton.OKCancel); 
if (MessageBoxResult.OK==result) 
{ 

} 
else if (result == MessageBoxResult.No) 
{ 

} 

cela vous obtiendrez une fenêtre pop-up avec fenêtre et OK ANNULER avec assez moyen facile de déterminer si l'utilisateur a cliqué sur OK ou pas.

+0

Le but était de capturer l'événement de fermeture du navigateur. – xscape

1

Je ne suis pas sûr d'avoir entièrement compris votre question, on dirait que vous écrivez javascript. Mais votre sujet est silverlight. Quoi qu'il en soit ....

La façon la plus simple est de tirer parti Html Confirmer soit en silverlight:

bool result = System.Windows.Browser.HtmlPage.Window.Confirm("Really..?"); 

ou en JavaScript droite:

var result = window.Confirm("Really...?"); 

Pour obtenir la valeur au serveur, vous pouvez stocker la valeur dans un champ de texte masqué et l'envoyer au serveur.

0

La réponse est à peu près la même que mon autre réponse à votre question précédente sur window.close. Lorsque l'utilisateur sélectionne Annuler, absolument rien ne se passe. S'ils sélectionnent OK, alors votre Application_Exit sera exécuté.

+0

merci mais c'est ce que je voulais capturer l'évènement cancel. – xscape