Правильный способ сделать это в ASP.NET MVC - использовать действие контроллера, которое возвращает перенаправление ActionResult
. Поэтому внутри действия контроллера, которое вы вызываете в этом окне и выполняете обработку, просто выполняете перенаправление, возвращая правильный ActionResult:
public ActionResult Foo()
{
// ... some processing
return RedirectToAction("SomeAction", "SomeController");
}
Когда вызывается действие Foo
(предположительно внутри нового окна), оно выполнит обработку и вернет клиенту код состояния 302 HTTP с новым местоположением /SomeController/SomeAction
.
Если вы хотите перенаправить на какой-либо внешний URL вашего приложения, вы можете сделать следующее:
public ActionResult Foo()
{
// ... some processing
return Redirect("http://someotherdomain.com/somescript");
}
Что касается создания ссылки, которая открывается в новом окне / вкладке, вы можете добавить атрибут target="_blank"
на привязку:
@Html.ActionLink(
"Some link", // linkText
"Foo", // action
"SomeController", // controller
null, // routeValues
new { target = "_blank" } // htmlAttributes
)