今天遇到這樣一件事情,
復制代碼 代碼如下:
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">