表格 - >提交ASP.NET MVC3:分成兩個不同的標籤
讓您查看新條目。
如何在打開新選項卡的情況下將新選項發送給新的動作結果return File(document, mimeType);
,同時仍將您引導至主選項卡上?
我不知所措,我無法通過ASP.NET代碼打開一個新選項卡,也無法調用兩個不同的動作結果。
表格 - >提交ASP.NET MVC3:分成兩個不同的標籤
讓您查看新條目。
如何在打開新選項卡的情況下將新選項發送給新的動作結果return File(document, mimeType);
,同時仍將您引導至主選項卡上?
我不知所措,我無法通過ASP.NET代碼打開一個新選項卡,也無法調用兩個不同的動作結果。
你需要做它的客戶端。你有兩個選擇:
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中沒有。
您的問題應該在客戶端解決,而不僅僅是在服務器端。也許我誤解了一些東西,但是如果你想打開一個新的瀏覽器選項卡,你只需要在主選項卡中放置一個<a href="@Html.Action("SomeAction")" target="_blank">
(Razor語法)。
Window.Open導致一個新窗口,而不是選項卡。 :/ – Doomsknight 2012-02-08 11:41:10
我已經更新了我的答案。要點是你不能強迫用戶打開一個新標籤,但是上面的新代碼會在某些版本的Chrome和Firefox中打開一個新標籤。 – Lester 2012-02-08 13:33:29