Как определить, является ли страница, выгруженная в ASP, PostBack

Это кажется обычным вопросом, но поиск ничего не возвращает.

У меня есть следующий код, который выполняется перед выгрузкой страницы. Проблема в том, что если выгрузка является обратной передачей, я не хочу отправлять предупреждение пользователю, но я не могу понять, как различить обратную передачу и пользователя, переходящего к другая страница, например.

<code>// This is executed before the page actually unloads
        $(window).bind("beforeunload", function () {

            if (prompt) {

                //prompt
                return true;
            }
            else {

                //reset our prompt variable
                prompt = true;
            }
        })
</code>

Запуск сценария в коде позади, то есть, если Page.IsPostBack, тогда запрос установки не является опцией.

Есть идеи?

РЕДАКТИРОВАТЬ:

Вот решение, которое я выбрал:

<code> function DoNotPrompt() {
              prompt = false;
        }
</code>

Затем я добавил это ко всем элементам управления, где пользователь может сделать что-то, что приведет к обратной записи.

<code>OnClientClick="DoNotPrompt()
</code>

Затем проверил этот флаг и вернул только строку в & quot; beforeunload & quot; если пользователь действительно удалялся от страницы, то есть не назад.

Я также должен был использовать этот код: var magicInput = document.getElementById ("__ EVENTTARGET");

<code>    if (magicInput && magicInput.value) {
        // the page is being posted back by an ASP control 
        prompt = false;
    }
</code>

Причина в том, что у меня был пользовательский элемент управления, представляющий собой список, и я не мог добавить вышеуказанный метод. Так что использовал это, чтобы перехватить это событие и установить флаг в false.

Не самое подходящее решение.

Спасибо, Майкл

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

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