window.showModalDialog两次加载问题清除缓存方法

前端技术 2023/09/03 .NET
今天遇到这样一件事情,
复制代码 代码如下:

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\">

本文地址:https://www.stayed.cn/item/8006

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。