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