在MVC控制器的新浏览器窗口中打开外部URL

时间:2015-03-27 21:38:26

标签: c# jquery model-view-controller asp.net-mvc-controller

如何根据成功/失败的条件,在MVC控制器按钮单击的新浏览器窗口/选项卡中打开外部URL(例如google.com)。到目前为止,我试过这个

    //Controller code
  public ActionResult Index( ) 

  {

 --Do some logic
 if(logicpasses)
 {
        return Redirect("http://google.com"); -- This doesn't work out as it's navigating to the URL in the same tab

    return JavaScript("Window.open('http://google.com')"); -- This is not    working as  well
 }
else
{
 return Redirect("http://google.com");
}
}

2 个答案:

答案 0 :(得分:0)

https://forums.asp.net/t/1896548.aspx?Open+external+link+in+new+browser+page解释说,浏览器打开一个新窗口应该在视图中发生,因为它是客户端的东西。我的解决方案是添加' target =" _blank"'到视图中的actionlink,将控制传递给控制器​​以加载URL。在视图中:@ Html.ActionLink(" strLabel"," Action"," Controller",new {id = idValue},new {target =" _blank"})。在控制器中:return Redirect(yourUrl);这会使原始视图在另一个选项卡中保持原样,并在新选项卡中保留新网址。

答案 1 :(得分:-1)

return JavaScript("window.open('http://google.com')");

这应该有效。