Я нашел блог, в котором было решение использовать класс в качестве идентификатора в теге, а затем установить логическое значение на основе этого. Я попробовал это, но это не работает, потому что .NET при выводе HTML оборачивал входной тег в тег span с объявленным в нем классом. Мое окончательное решение состояло в том, чтобы вставить слово Ignore в имя идентификатора тега. Кроме того, чтобы предотвратить вызов onbeforeunload до того, как щелчок перехватывается кодом, который устанавливает логическое значение, необходимо использовать, например, asp: Button или asp: Input. Наконец, asp заставляет (из VS IDE) начальное имя быть типом управления; ID = "Button_Save". Использование тегов asp: также предотвращает двойной вызов onbeforeunload.

я есть элемент управления сеткой на основе AJAX.

Мы подключаемся к событию window.onbeforeunload, чтобы проверить, есть ли у них несохраненные данные, и если это так, представим им сообщение «Вы уверены, что хотите отойти ... у вас есть несохраненные данные ...».

Все это хорошо.

Но вызовы AJAX также запускают window.onbeforeunload, и поэтому, если сетка содержит несохраненные данные, и мы выполняем вызов AJAX (например, для удаления строки в другой сетке), пользователь получает сообщение «Вы уверены, что хотите отойти ... вы есть несохраненные данные ... "сообщение, которое не хорошо.

Можно ли подавить событие onbeforeunload для вызовов AJAX? Или можно обнаружить, что звонокявляется вызов AJAX? В противном случае нам придется взломать!

Спасибо

Ответы на вопрос(9)

Ваш ответ на вопрос