Мы используем Web-формы ASP.NET (а не MVC).ASP.NET Response.Redirect, чтобы открыть новое окно браузера?
Мой вопрос: Можно ли открыть новое окно браузера, используя обратную передачу, а затем несколько вариантов Response.Redirect?
Мы используем Web-формы ASP.NET (а не MVC).ASP.NET Response.Redirect, чтобы открыть новое окно браузера?
Мой вопрос: Можно ли открыть новое окно браузера, используя обратную передачу, а затем несколько вариантов Response.Redirect?
Короткий ответ? Номер
Длинный ответ:
ASP.NET является основой на стороне сервера, в то время как концепция браузера окон на стороне клиента один. Response.Redirect
просто заканчивает отправку заголовка Location: [whatever the new url is]
как часть выходного потока. Просто случается, что почти все браузеры обрабатывают этот заголовок, загружая URL-адрес, который находится в этом заголовке.
Самым безболезненным способом будет использование javascript на обратной стороне, чтобы открыть новое окно, как указано в ответе JLC007's. Другим возможным вариантом является использование атрибута target в визуализированной форме.
Я полагаю, что «коротко» относительна, но когда наступает более длинный ответ? – Patrick
Просто сейчас. Отвлекся. – rossipedia
Я бы использовал другой источник при привязке к цели, а именно [MDN] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-target). Хотя w3schools часто имеет достоверную информацию, возникает вопрос о качестве (http://www.w3fools.com/). – Patrick
Я не сталкивался с экземплярами, где Response.Redirect может перемещаться по открытию нового окна.
Вот способ сделать это не с помощью Response.Redirect, которые вы можете попробовать:
ScriptManager.RegisterStartupScript(this, typeof(string), "New_Window", "window.open('http://www.website.com', null, 'height=800,width=1280,status=yes,toolbar=yes,menubar=yes,location=no');", true);
Вы можете добавить '' _blank'' вместо 'null', но я его протестировал, и оба дают тот же результат. Он открывает новое окно. –
Обратите внимание, что браузеры могут обрабатывать сценарии, выполняемые при загрузке страницы таким образом, как инициируемые по инициативе страницы, а не инициированные пользователем. Такие ссылки могут блокироваться всплывающими блоками. – Brian
Попробуйте это
ScriptManager.RegisterStartupScript(this, typeof(string), "openWindow",
"window.open('http://www.website.com', target="_blank",
'height=800,width=1280,status=yes,toolbar=yes,menubar=yes,location=no');",
true);
Пытались ли вы какие-либо вещь? –
Response.Redirect не может открыть браузер как Response.Redirect - это серверная команда, и браузер не существует на сервере. Вам нужно бросить javascript код, чтобы открыть новое окно, как @ JLC007 предложить в его ответе. –