оповещение JavaScript из класса C # - PullRequest
0 голосов
/ 18 ноября 2008

У меня есть страница с 5 aspx "волшебником". каждый из них содержит кнопку «SaveAndExit», которая выполняет функцию c # в общем статическом классе. После сохранения код c # перенаправляет на другую страницу.

Есть ли способ запустить javascript: alert ('Data Saved'); после сохранения и до загрузки новой страницы.

Ответы [ 3 ]

2 голосов
/ 18 ноября 2008

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

0 голосов
/ 18 ноября 2008

Вик, если это не домашнее задание, я бы настоятельно рекомендовал вам этого не делать.

Оповещения Javascript очень раздражают большинство пользователей и кажутся совершенно бесполезными в этом случае, как объяснил Джоэл Коухорн.

Если вы настаиваете на отображении сообщения при его сохранении, подумайте о добавлении, возможно, переменной сеанса, и на перенаправленной странице выведите сообщение «Данные сохранены» вверху, если переменная сеанса существует, а затем удалите переменную сеанса.

Опять же, как сказал Джоэл Коухорн, вы должны обязательно показать сообщение, если есть ошибка, но перенаправление должно быть всем «доказательством», в котором они нуждаются, чтобы их данные были сохранены.

0 голосов
/ 18 ноября 2008

Вы не можете делать это так, как хотите.

Код C # (на стороне сервера) не может быть запущен, пока страница не будет отправлена ​​обратно и выгружена из браузера. Таким образом, к тому времени, когда ваш серверный код запускает страницу, она уже не существует, поскольку это касается браузера, и уже слишком поздно запускать ваш код JavaScript. Это верно даже в середине поста назад, и даже если результатом поста будет та же страница. Вот почему при определенных обстоятельствах страницы ASP.Net могут мерцать во время обратной передачи.

Таким образом, вы не можете вызвать предупреждение javascript после того, как данные сохранены, не сделав это через какой-то обратный вызов ajax - и это, безусловно, один из вариантов. Другой вариант - на странице, на которую вы перенаправляете, показывать какое-то сообщение «данные сохранены» при определенных обстоятельствах; вызвать его с помощью чего-то простого, например, переменной сеанса или значения скрытого ввода при загрузке, так что это не очевидно для пользователя.

Но я думаю, что, вероятно, лучше всего ничего не делать. Похоже, если сохранить не удастся, вы не будете перенаправлять. Вы, вероятно, даже покажете какую-то ошибку. Если у вашего пользователя недостаточно уверенности в вашем приложении, что он не доверяет ему, даже если нет сообщения об ошибке, и оно переходит к следующему шагу, у вас проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...