2012-02-07 3 views
1

フォーム - サブミットASP.NET MVC3:2つの異なるタブに分割

新しいエントリを表示します。

新しいタブを開いて、新しい操作の結果をreturn File(document, mimeType);に送信するにはどうすればいいですか?まだメインタブに移動しますか?

私は紛失しています。私はASP.NETコードで新しいタブを開くことも、2つの異なるアクション結果を呼び出すこともできません。

答えて

1

クライアント側で行う必要があります。あなたは、2つのオプションがあります:

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は、IEにはないChromeとFirefoxの新しいタブを開きます。

+0

Window.Openはタブではなく新しいウィンドウを生成しています。 :/ – Doomsknight

+0

私は自分の答えを更新しました。要は、ユーザーに新しいタブを開くよう強制することはできませんが、上記の新しいコードはChromeとFirefoxの一部のバージョンで新しいタブを開きます。 – Lester

2

問題は、サーバー側だけでなく、クライアント側で解決する必要があります。たぶん私は何か誤解しているかもしれませんが、新しいブラウザタブを開く場合は、<a href="@Html.Action("SomeAction")" target="_blank">(Razor構文)をメインタブに配置するだけです。

関連する問題