0

好的,我决定通过打开一个新页面 (newPage.aspx) 来解决这个问题,然后该页面将启动下载并在下载完成后关闭。我通过将 newPage.aspx 写入当前页面的响应来使用 javascript 打开它。但是,由于某种原因,在重定向原始页面之前没有打开窗口。他们是在我重定向之前要调用的方法吗?也许我有语法问题?

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 回答