0

了解しました。新しいページ(newPage.aspx)を開いてダウンロードを開始し、ダウンロードが完了したら閉じることで、これを実行することにしました。現在のページの応答にJavaScriptを書き込んで、javascriptを使用してnewPage.aspxを開いています。ただし、何らかの理由で、元のページがリダイレクトされる前にウィンドウが開かれていません。リダイレクトする前にそれらのメソッドを呼び出す必要がありますか?多分私は構文の問題がありますか?

Response.Write("<script type='text/javascript'>window.open('~/newPage.aspx', '', ''); </script>")

Response.Redirect("~/oldPage.aspx")

編集:

次のことを試しましたが、機能しませんでした...(更新パネルで作業しています)

ScriptManager.RegisterStartupScript(udpMain, udpMain.GetType(), "openExcel", "window.open('~/newPage.aspx', '' , '');", True)

編集2:とても近い

わかりました。これは、Response.Redirectをコメントアウトした場合にのみ機能します。RegisterStartupScriptメソッドは、Response.Redirectメソッドの後のページの読み込み時に実行されるようです。これに対する既知の修正はありますか?

ScriptManager.RegisterStartupScript(udpMain, udpMain.GetType(), "openExcel", "window.open(NewPage.aspx'); location.href='OldPage.aspx';", True)
Response.Redirect("~/OldPage.aspx")
4

1 に答える 1

1

クライアントスクリプトを介してリダイレクトすることもできます。ちなみに、ASP.NETを使用する場合、JSをHTMLに埋め込むための好ましい方法は次のとおりですClientScript.RegisterStartupScript

ClientScript.RegisterStartupScript(Me.GetType(), "JSCode" & Rnd(1).ToString, "window.open('newPage.aspx'); location.href = 'oldPage.aspx'", True)
于 2013-01-14T22:27:20.860 に答える