У меня есть страница, которая открывает новое окно с внешним URL-адресом (URL-адресом аутентификации Twitter), теперь это окно будет аутентифицировать пользователя и вызывать метод действия, в этом методе действия мне нужно закрыть текущее окно (popUp) и сообщить открывателю, что аутентификация прошла успешно,
в веб-формах, которые я использовал для (обратной передачи):
(HttpContext.Current.Handler as System.Web.UI.Page).ClientScript.RegisterStartupScript(
this.GetType(),
"winPop",
"window.opener.doSomething(true);window.close()",
true);
в MVC я пробовал это, но не работало, так как нет тока, но есть:
HttpContext.CurrentHandler
, который можно привести к Mvc.MvcHandler
, теперь возникает вопрос, я знаю, что MVC совершенно другой, но есть ли способ зарегистрировать скрипт, который будет запускаться при запуске ответа?
Я знаю, что могу сделать дополнительный вид и открыть его в новом окне, а затем перенаправить на Twitter Url, а затем при обратном вызове в то же самое окно я бы назвал скрипт просто window.opener ...... и т. Д. но это означало бы, что я должен сделать дополнительное представление, в котором нет ничего, кроме строки javascript при запуске, поэтому мне было интересно, могу ли я сделать одно из следующего:
Вариант 1: зарегистрировать скрипт запуска, как я объяснил выше.
Вариант 2. Возвращение кода JavaScript, который выполняется на клиенте (без фактического просмотра).