Предупреждения JavaScript из класса C#

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
329
3

Ответы 3

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

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

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

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

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

Он хочет предупредить пользователя ПЕРЕД перенаправлением на следующую страницу.

Kon 18.11.2008 17:41

И ПОСЛЕ сохранения данных. Это действительно не вариант без добавления дополнительного просмотра страницы - выберите один или другой.

Joel Coehoorn 18.11.2008 19:42

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

Kon 19.11.2008 01:23

Это означает использование javascript для перенаправления, и я почти уверен, что он думал о перенаправлении на стороне сервера.

Joel Coehoorn 19.11.2008 16:47

Он сказал: «Код C# перенаправляет», но код C# все еще может определять, какой должна быть цель перенаправления. Он не должен перенаправлять на сервер ... вы говорите о техническом решении, перерисовывая бизнес-цель.

Kon 20.11.2008 05:37

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

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

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

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

Другие вопросы по теме