1

我有一個silverlight應用程序,我想捕獲瀏覽器的關閉事件。所以,我做什麼,我在.aspx頁面中我有這樣的代碼Silverlight 4:OnBeforeUnload

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


    window.onbeforeunload = closeIt; 

如果這個功能觸發,一個popupwindow會出現,你有2個按鈕確定和取消。

在silverlight或服務器端有沒有辦法獲得用戶點擊的價值?

謝謝

+0

對我以前的問題相同的解決方案http://stackoverflow.com/questions/3456591/silverlight-4-f5-refresh – xscape 2010-08-27 02:27:03

回答

0

爲什麼不使用MessageBox?這裏的代碼示例:

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

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

} 

這將讓你確定一個彈出窗口,並用非常簡單的方式取消窗口,以確定用戶是否點擊確定或沒有。

+0

它的目的是捕獲瀏覽器的關閉事件。 – xscape 2010-08-13 06:34:48

1

我不知道我完全理解你的問題,它看起來像你正在寫javascript。但你的主題是silverlight。反正....

最簡單的方法是利用的Html確認或者在Silverlight:

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

或直的JavaScript:

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

要獲得價值,你可以存儲在服務器在隱藏文本字段中的值並將其發佈到服務器。

0

答案與我之前關於window.close的其他問題的答案几乎一樣。

當用戶選擇Cancel時,絕對不會發生任何事情。如果他們選擇OK,那麼您的Application_Exit將運行。

+0

謝謝,但那就是我想要捕獲取消事件。 – xscape 2010-08-17 01:12:41