【问题标题】:IE 7 Browser -> File -> Print causing PostBack to page? ASP.NET 3.5IE 7 浏览器-> 文件-> 打印导致回发到页面? ASP.NET 3.5
【发布时间】: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 中回发?如果是这样,你有办法阻止这种情况吗? (它没有做任何事情来破坏页面功能,它只是因为不需要的回发调用而浪费资源真的很烦人)。

【问题讨论】:

标签: browser asp.net-3.5 postback printing


【解决方案1】:

您的 global.asax 中是否定义了任何页面路由?

我发现我得到了同样的结果,因为我们在 global.asax 中定义了指向此页面的页面路由,然后我在页面上有了一个打印 css 样式,其中包含与路径格式相同的图像的路径页面路由。

因此,当打印或打印预览尝试加载图像时,它会解析到此页面。 我移动了图像并更改了对我有用的打印 css 样式(使其不对应于 global.asax 中定义的任何路由)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多