1

Silverlight アプリケーションがあり、ブラウザーのクローズ イベントをキャプチャしたいと考えています。だから私がしたこと、私の.aspxページにはこのコードがあります

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


    window.onbeforeunload = closeIt;

この関数がトリガーされると、ポップアップ ウィンドウが表示され、[OK] と [キャンセル] の 2 つのボタンがあります。

Silverlight またはサーバー側で、ユーザーがクリックした値を取得する方法はありますか?

ありがとうございました

4

3 に答える 3

1

あなたの質問を完全に理解しているかどうかはわかりません.javascriptを書いているようです. しかし、あなたの主題はシルバーライトです。ともかく....

最も簡単な方法は、Silverlight で Html Confirm を利用することです。

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

またはまっすぐな JavaScript で:

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

サーバーに値を取得するには、非表示のテキスト フィールドに値を保存してサーバーに送信します。

于 2010-08-13T06:33:17.243 に答える
0

MessageBox を使用しないのはなぜですか? コード例は次のとおりです。

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

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

}

これにより、[OK] および [キャンセル] ウィンドウを含むポップアップ ウィンドウが表示され、ユーザーが [OK] をクリックしたか [いいえ] をクリックしたかを簡単に判断できます。

于 2010-08-13T06:32:35.723 に答える
0

答えは、window.closeに関する以前の質問に対する私の他の答えとほとんど同じです。

ユーザーが [キャンセル] を選択すると、何も起こりません。[OK] を選択するApplication_Exitと、実行されます。

于 2010-08-13T12:26:01.200 に答える