#c# #web-applications #redirect #.net-4.0
#c# #веб-приложения #перенаправление #.net-4.0
Вопрос:
Вот небольшая справочная информация о том, что я пытаюсь сделать:
- У меня есть страница просмотра клиента; на этой странице есть кнопка для регистрации новой заметки о звонке. Нажатие этой кнопки перенаправляет на страницу нового вызова.
- На странице нового звонка есть несколько флажков, которые пользователь может установить, чтобы инициировать дополнительное действие (т. Е. возникла проблема с их заказом, у них есть рекомендация продукта и т.д.)
- Когда сообщение о вызове отправлено, пользователь возвращается на страницу просмотра клиента с помощью
Response.Redirect
Теперь, что я пытаюсь здесь сделать, так это то, что если пользователь установит один из флажков дополнительных действий, я все равно хочу, чтобы страница вызова перенаправлялась обратно на страницу просмотра клиента; однако я также хочу открыть соответствующую страницу дополнительных действий в ее собственном окне.
Таким образом, результирующий поток будет выглядеть примерно так:
- Пользователь открывает страницу клиента и нажимает кнопку «Новый вызов». Браузер перенаправляет на страницу вызова
- Пользователь выбирает «Проблема с заказом» и сохраняет заметку о звонке. Страница заметки о звонке перенаправляется обратно на страницу просмотра клиента
- Затем в новом окне появится страница отчета о качестве (используемая для устранения проблем с их порядком).
Поиск в Google подсказывает мне использовать ClientScript.RegisterStartupScript
, но во всех этих примерах нет перенаправления. Есть идеи о том, как я мог бы заставить это работать?
Комментарии:
1. Идея заключается в том, что вы бы поместили какой-нибудь JS для запуска всплывающего окна на странице, на которую вы перенаправляете, и которое открывает всплывающее окно. НО это не сработает, потому что браузеры (с настройками по умолчанию) не позволяют страницам открывать всплывающие окна без щелчка пользователя. Вместо этого вам нужно запустить всплывающее окно с первой страницы в результате нажатия кнопки, например, ответа @BalaR . Или вообще не используйте всплывающие окна.
Ответ №1:
Вы можете использовать OnClientClick
и некоторый javascript для отображения всплывающего окна.
<asp:Button ID="Button1" OnClick="Button1_Click" OnClientClick="showPopup()" />
и используйте OnClick
обработчик событий на стороне сервера, чтобы выполнить перенаправление.
Ответ №2:
Вам нужно будет либо определить, что требуется всплывающее окно с помощью javascript, и открыть страницу до появления публикации, либо вам нужно будет открыть страницу после перенаправления.
Чтобы всплывающее окно появлялось после перенаправления, сохраните некоторую информацию (например, используя SessionState
), которую CustomerViewPage может проверить, требуется ли всплывающее окно. Если это так, вызовите CustomerViewPage ClientScript.RegisterStartupScript
для вызова всплывающего окна.