【发布时间】:2009-11-17 20:22:22
【问题描述】:
我的代码“弹出”另一个带有图像的 ASPX 页面。用于弹出窗口的javascript如下。
string url = @"DocumentPage.aspx?imageGuid=" + imageGuid;
string winWidth = "800";
string winHeight = "600";
StringBuilder scriptString = new StringBuilder();
scriptString.Append("<script language='JavaScript'> function openDocument(){");
scriptString.Append("var url = " + "'" + url + "';");
scriptString.Append("var wndw = window.open(url,'','width= " + winWidth + ",height=" + winHeight + ",resizable=Yes,status=Yes,scrollbars=Yes,menubar=Yes');");
scriptString.Append("if ((document.window != null) && (!wndw.opener)) wndw.opener = document.window;");
scriptString.Append("} openDocument();<");
scriptString.Append("/");
scriptString.Append("script>");
图像在此 DocumentPage.aspx 中呈现良好。在 IE 7 中,当我单击“文件”->“打印”时,仅此操作会导致此 DocumentPage.aspx 触发 PostBack,并且 IsPostBack 的 Page 属性为 false,因此它基本上运行在弹出页面时执行的相同代码。
有没有人遇到过这个浏览器 -> 文件 -> 打印导致在 asp.net 中回发?如果是这样,你有办法阻止这种情况吗? (它没有做任何事情来破坏页面功能,它只是因为不需要的回发调用而浪费资源真的很烦人)。
【问题讨论】:
-
不使用IE? :P...旁注可能会尝试将其作为模式窗口打开 window.showModalDialog() javascript.about.com/library/blmodal.htm
标签: browser asp.net-3.5 postback printing