所以,我有一个需要以PDF格式导出报告的应用程序。在按钮上点击生成的pdf应该在一个新的选项卡中打开,以便用户在下载之前查看内容。
我的问题是在新选项卡中打开页面会收到弹出窗口阻止警告,我已经尝试了以下方法:
string url = "/Page2.aspx?id="+id+;
Response.Write("<script>");
Response.Write("window.open('"+url+"','_newtab')");
Response.Write("</script>");
.......
Page.ClientScript.RegisterStartupScript(this.GetType(),"OpenWindow","window.open('"+url+"','_newtab');",true);
…
ScriptManager.RegisterStartupScript(this, this.GetType(), "NewTab", "window.open('" +url+ "');", true);
仍然没有进展。重定向应该在服务器端完成,因为我必须获得一些数据并将其与链接一起传递。
通常浏览器会阻止弹出窗口,除非该弹出窗口是由用户发起的。
如果一个窗口直接打开的结果是一个onclick,它通常会打开。如果点击按钮间接打开了窗口,则更容易被阻塞。所以你注入的脚本标签等很可能会被阻止为垃圾网页(没有人希望在浏览时出现未经请求的弹出窗口)。
放窗户。直接打开到onclick事件是最可行的解决方案。
但是最终你不能控制浏览器的行为,所以可能无法做你想做的。
将按钮更改为样式超链接可以工作(目标为_blank或类似)。无法告诉浏览器在新选项卡中打开还是在新窗口中打开。