2

別のページにリダイレクトする前に、JavaScript でポップアップ ウィンドウを開こうとしています。

私はこのコードを書きました:

ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "abc", "window.open('http://yahoo.com','2','resizable=yes,directories= no,menubar=no,top=null,left=00, width=100,height=100')", true);
Response.Redirect(p.Url);

しかし、それはリダイレクトだけで、ポップアップは開きません。

ユーザー ユーザーが別のページにリダイレクトする前に、ポップアップ ウィンドウを開くにはどうすればよいですか?

4

2 に答える 2

3

ポップアップやウィンドウを開くようなことをしている場合...前にresponse.redirect();、それは機能しません。ポップアップ ボックスを開いた後に任意のページにリダイレクトする場合は、リダイレクトが C# ではなく Javascript のみで記述されていることを確認してください。

これは機能しません

Response.Write("<script language='javascript'>alert('hello')</script>");  
Response.Redirect("About.aspx"); <br>

これはうまくいきます

Response.Write("<script language='javascript'>alert('hello');
window.location.href='About.aspx';</script>");

また

if (!ClientScript.IsStartupScriptRegistered("alert"))
{ 
Page.ClientScript.RegisterStartupScript(this.GetType(), "alert",     "alertMe();window.location.href='About.aspx';", true);
}

このようにして、外部JSファイルも呼び出すことができます

 Page.ClientScript.RegisterStartupScript(this.GetType(),    "callJS", 
 "&alt; script language='javascript' src='sample.js' &glt;  ");
于 2012-11-16T13:53:33.180 に答える
0

ScriptManager.RegisterStartupScriptを使用している場合は、javasciptコードをaspxページの上部に(<head>タグで)挿入する必要があります

私にとっての実例。

ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "abc", "<script>OpenWin();</script>", false);
Response.Redirect(p.Url);

aspxヘッドタグ;

<script type="text/javascript">

 function OpenWin() {
        window.open('http://yahoo.com', '2', 'resizable=yes,directories= no,menubar=no,top=null,left=00, width=100,height=100');
   }

</script>

このコードが機能しない場合は、別の方法で。リダイレクトにはJavaScriptを使用できます。このような ;

window.location.href="p.Url";

ただし、この方法では、p.Url値をjavascriptに取得する必要があります。あなたはこれをたくさんの方法で行うことができます(隠しフィールド、セッションなど)

于 2012-06-24T10:28:55.250 に答える