ASP.NET Webforms (MVC ではありません) を使用しています。
私の質問は次のとおりです。ポストバックを使用して新しいブラウザ ウィンドウを開き、次にさまざまな Response.Redirect を使用することはできますか?
Response.Redirect がナビゲートして新しいウィンドウを開くことができるインスタンスに遭遇したことはありません。
Response.Redirect を使用しない方法を次に示します。これを試すことができます。
ScriptManager.RegisterStartupScript(this, typeof(string), "New_Window", "window.open( 'http://www.website.com', null, 'height=800,width=1280,status=yes,toolbar=yes,menubar=yes,location=no' );", true);
これを試して
ScriptManager.RegisterStartupScript(this, typeof(string), "openWindow",
"window.open( 'http://www.website.com', target="_blank",
'height=800,width=1280,status=yes,toolbar=yes,menubar=yes,location=no' );",
true);
簡潔な答え?いいえ。
長い答え:
ASP.NET はサーバー側のフレームワークですが、ブラウザー ウィンドウの概念はクライアント側のものです。出力ストリームの一部としてヘッダーをResponse.Redirect
送信するだけです。Location: [whatever the new url is]
ほとんどすべてのブラウザーが、そのヘッダーにある URL をロードすることによってそのヘッダーを処理することが起こります。
JLC007の回答で概説されているように、最も簡単な方法は、ポストバックでjavascriptを使用して新しいウィンドウを開くことです。別の可能なオプションは、レンダリングされたフォームでtarget属性を使用することです。