2011-12-19 113 views
1

在我的asp.net mvc項目我想要一個動作重定向到一個URL,但我希望頁面在新窗口中打開。Asp.net Mvc重定向Url

public ActionResult Index(int id) 
     { 
      ... 

      return Redirect(page.Url); 
     } 

回答

1

應指定該鏈接將在新窗口中使用target屬性視圖即

<a href="@Url.Action("Index", "Controller", new{ area = "", id = 1 })" 
    target= "_blank">Link text</a> 
+0

謝謝。但在行動中,我做了一些控制,並決定打開空白目標或正常。 – user956661 2011-12-19 12:58:17

+0

據我所知,無法從服務器端設置爲在新窗口中打開。 – 2011-12-19 13:11:47

3

爲開拓在客戶端建立一個新的窗口,你將不得不打開<a>元素在View HTML中做一些事情或者使用一些javascript。這不能在控制器中完成。

有鑑於此,您可以從調用此操作的位置設置操作鏈接的目標屬性。

1

在服務器側就可以retrun JSON(通常是AJAX調用之後)

public ActionResult PreviewReport(Report rep) 
    { 
     return Json(new { type = "info", url = "..." }, JsonRequestBehavior.AllowGet); 
    } 

在客戶端在執行的JavaScript(結果是從一個AJAX調用上述動作)

function (result) { 
     if (result.type === 'info') { 
      window.open(result.url, '_blank'); 
     } 
    }