私は、C#コードビハインドからブラウザウィンドウを開く必要があるasp.net Webサイトに取り組んできました。aspxページに次のJSを作成しました。
JS:
<scrupt type="text/javascript">
function openPopUp() {
window.open("About.aspx?something=happening", "WindowPopup", "width=700px, height=500px, resizable");
}
</script>
そしてこのC#コード
C#:
protected void Button1_Click(object sender, EventArgs e) {
string script = "<script language='javascript' type='text/javascript'>Sys.Application.add_load(openPopUp);</script>";
ClientScript.RegisterStartupScript(this.GetType(), "openPopUp", script);
}
上記のコードは問題なく動作し、About.aspx ページを新しいブラウザー ウィンドウとして表示します。しかし、問題は、親ページがポストバックを実行するたびに (たとえば、親ページで radgrid を並べ替えようとするたびに)、ブラウザー ウィンドウが再び開くことです。
私はそれをグーグルで検索しましたが、この問題に対する有用な回避策が見つかりませんでした。おそらく、Button1_Click に登録されているクライアント スクリプトの登録を解除する必要があります。ポストバックごとに同じブラウザ ウィンドウが何度も表示されないように閉じられます。
どんな助けでも大歓迎です!