Silverlight 4: OnBeforeUnload - PullRequest
       26

Silverlight 4: OnBeforeUnload

1 голос
/ 13 августа 2010

У меня есть приложение silverlight, и я хочу зафиксировать событие закрытия браузера. Итак, что я сделал, на моей странице .aspx у меня есть этот код

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


    window.onbeforeunload = closeIt;

Если эта функция сработала, появится всплывающее окно, у вас есть 2 кнопки ОК и ОТМЕНА.

Есть ли способ в Silverlight или на стороне сервера получить значение, на которое пользователь нажимает?

Спасибо

Ответы [ 3 ]

1 голос
/ 13 августа 2010

Я не уверен, что полностью понимаю ваш вопрос, похоже, вы пишете javascript.Но ваш предмет - серебряный свет.В любом случае ....

Самый простой способ - использовать Html Confirm либо в silverlight:

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

, либо в прямом JavaScript:

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

Чтобы получить значениена сервере вы можете сохранить значение в скрытом текстовом поле и опубликовать его на сервере.

0 голосов
/ 13 августа 2010

Ответ почти такой же, как и мой другой ответ на предыдущий вопрос о window.close.

Когда пользователь выбирает Отмена, абсолютно ничего не происходит. Если они выберут ОК, то ваш Application_Exit будет запущен.

0 голосов
/ 13 августа 2010

Почему вы не используете MessageBox?Вот пример кода:

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

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

}

это даст вам всплывающее окно с окном OK и ОТМЕНА с довольно простым способом определить, нажал ли пользователь Ok или нет.

...