2009-11-17 34 views
0

我有代碼「彈出」另一個ASPX頁面的圖像。下面是用於彈出窗口的JavaScript。IE 7瀏覽器 - >文件 - >打印導致回傳頁面? ASP.NET 3.5

  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中導致後發?如果是這樣,你有解決方法來阻止這一點? (它沒有做任何事情來打破頁面功能,它只是非常煩人的浪費資源與不需要的回發呼叫)。

+0

不要使用IE? :P ...旁註可能嘗試打開它作爲模式窗口window.showModalDialog()http://javascript.about.com/library/blmodal.htm – Gage 2010-07-15 15:28:21

回答

0

在global.asax中是否定義了任何頁面路徑?

我發現我得到了同樣的結果,因爲我們在global.asax中定義了指向此頁面的頁面路徑,然後在頁面上有一個打印css樣式,其中包含一個路徑以相同路徑格式作爲頁面路線。

因此,當打印或打印預覽試圖加載圖像,然後解析到這個頁面。 我移動了圖像並更改了打印css樣式(以便它不符合global.asax中定義的任何路徑),這對我而言非常有用。