服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - ASP.NET教程 - window.showModalDialog兩次加載問題清除緩存方法

window.showModalDialog兩次加載問題清除緩存方法

2019-11-17 13:11asp.net教程網 ASP.NET教程

window.showModalDialog兩次加載問題:你第一次打開窗口后,第二次瀏覽器沒有從服務器端取數據,而直接找到了你已經下載的文件

今天遇到這樣一件事情, 

復制代碼代碼如下:


var frmHeight = 352; 
var frmWidth = 508; 
var frmTop = (window.screen.height - frmHeight) / 2; 
var frmLeft = (window.screen.width - frmWidth / 2); 
var url = "ChosePerson.aspx"; 
var parameter = "dialogHeight:" + frmHeight + "px;dialogWidth:" + frmWidth + "px;dialogTop" + frmTop + "px;dialogLeft" + frmLeft + "px;scroll:0;status:0;reziable:1;"; 
var rval = window.showModalDialog(url, "", parameter); 
window.showModalDialog()//第一次加載是走page_load()方法的,第二次加載時就不走page_load(); 


具體原因: 
是緩存的問題,你第一次打開窗口后,第二次瀏覽器沒有從服務器端取數據,而直接找到了你已經下載的文件, 

最終解決辦法: 
1.設置瀏覽器屬性 
將IE的設置改一下再試試,Internet選項->常規->設置->每次訪問此頁時檢查 
(優點全站重加載,可解決問題) 

2.添加緩存,把以前的緩存給清除 
//加入緩存,清除以前數據,防止不進行加載頁面 
<%@ OutputCache Duration="1" VaryByParam="none"%> 
(優點只針對需要的界面加,節省時間) 
//新增 

3.(7/10測試時發現IE7不支持第2種緩存格式)沒辦法只有修改清除緩存代碼 
在<head></head>中加入 
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="0">

延伸 · 閱讀

精彩推薦
法甲赛程积分