2012-02-07 35 views
1

表格 - >提交ASP.NET MVC3:分成兩個不同的標籤

讓您查看新條目。

如何在打開新選項卡的情況下將新選項發送給新的動作結果return File(document, mimeType);,同時仍將您引導至主選項卡上?

我不知所措,我無法通過ASP.NET代碼打開一個新選項卡,也無法調用兩個不同的動作結果。

回答

1

你需要做它的客戶端。你有兩個選擇:

1)沒有什麼,除了下面的javascript外殼頁:

$(document).ready(function() { 
    window.open("@Model.DownloadUrl", ""); 
    window.location.href = "@Model.RedirectUrl"; 
}); 

2)修改視圖通過javascript來檢查DownloadUrl,如果提供下載:

$(document).ready(function() { 
    if (@!string.IsNullOrEmpty(Model.DownloadUrl)) { 
     window.open("@Model.DownloadUrl", ""); 
    } 
}); 

在這兩種情況下,有沒有辦法在新窗口中打開的是一個新標籤。這是用戶的瀏覽器設置。上面的JavaScript在Chrome和Firefox版本中打開了一個新選項卡,但IE中沒有。

+0

Window.Open導致一個新窗口,而不是選項卡。 :/ – Doomsknight 2012-02-08 11:41:10

+0

我已經更新了我的答案。要點是你不能強迫用戶打開一個新標籤,但是上面的新代碼會在某些版本的Chrome和Firefox中打開一個新標籤。 – Lester 2012-02-08 13:33:29

2

您的問題應該在客戶端解決,而不僅僅是在服務器端。也許我誤解了一些東西,但是如果你想打開一個新的瀏覽器選項卡,你只需要在主選項卡中放置一個<a href="@Html.Action("SomeAction")" target="_blank">(Razor語法)。

相關問題