服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 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">

延伸 · 阅读

精彩推荐