0

私は、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 に登録されているクライアント スクリプトの登録を解除する必要があります。ポストバックごとに同じブラウザ ウィンドウが何度も表示されないように閉じられます。

どんな助けでも大歓迎です!

4

1 に答える 1

0

onclick イベントでは、これを試すことができます..

onclick="javascript:window.open("About.aspx?something=happening",'mywin','left=20,top=20,width=700,height=700,toolbar=0,resizable=1,location=0,menubar=0');return false;"

return false で問題を解決できると思います..

于 2013-07-01T05:31:59.640 に答える