2009-05-22 27 views
4

特定のラジオボタンが選択されている場合、ポストバック時にコードビハインドから新しいウィンドウを開く必要があります。コードビハインドから新しいウィンドウを開く

これを行う方法はありますか?

ありがとうございます。

+5

FYI:ポップアップブロッカーは、このウィンドウを開くことをブロックします。 – epascarello

答えて

1

あなたは、ページが読み込まれた後に実行するようにwindow.openスクリプトを送信するためにRegisterStartupScriptを使用することができますjavascript on postback

4

実行する必要があります。

しかし、これにより、ポップアップブロッカーの大部分があなたの邪魔になります。 RegisterStartupScriptの

+1

ポップアップブロッカーを欺く方法については、@BradParks answer hereを参照してください。 – Cyberherbalist

0

Simpleサンプル:

RegisterStartupScript("id1", "<script type=\"text/javascript\">alert(\"I'm from JavaScript.\");</script>"); 
0

新しいウィンドウがあなたがする場合は、ウィンドウのポップインで使用して検討するかもしれない、あなたを提示する必要がある内容に応じて、非常に大ざっぱすることができます。あなたはそのようなポップアップブロッカーを避けるでしょう。あなたがもっと詳細を与えることができるなら、我々はより良​​い答えを与えることができます。

2

私はこれが;-)

は、あなたが戻って投稿前に、新しい空白のウィンドウを開くために、あなたのラジオボタンにいくつかのJavaScriptを追加します動作するはずだと思う。これにより、ポップアップブロッカーはユーザーのクリックに応答して開くので、ポップアップをブロックしません。この部分の実行方法については、this linkを参照してください。

通常と同じようにポストバックが発生し、ページが読み込まれたときに、起動スクリプトを登録して、既存のウィンドウに新しいURLに移動するよう指示します。ウィンドウがすでにその名前で存在する場合、JavaScriptでは、あなたは

window.open(url, 'myPopup') 

を呼び出すときに新しいウィンドウを作成するのではなく、それを返すよ...だからあなたのポップアップがないことを

String script = "window.open('popupPage.aspx', 'myPopup')"; 
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "someId", script, true); 

は注意ブロックされる!

+1

これはうまくいくようです。他の回答が受け入れられた後、この回答を投稿してくれてありがとう!あなたは私に多くの悲しみを救った。 – Cyberherbalist

関連する問題