У меня есть код, который «выскакивает» другую 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, а свойство Page IsPostBack имеет значение false, поэтому он, по сути, выполняется через тот же код, который был выполнен на всплывающей странице.
Кто-нибудь запускал этот браузер -> Файл -> Печать, вызывая посты обратно в asp.net? Если так, у вас есть работа, чтобы остановить это? (Он не делает ничего, что нарушает функциональность страниц, просто очень раздражает тратить ресурсы на ненужные обратные вызовы).