模式窗口的不刷新问题

在父窗口中用以下语句打开模式窗口

<input id="button" type="button" value="打开模式窗口" οnclick="OpenWin('ModalDialog.aspx',500,400)" />

function OpenWin(frmWin,width,height)
{      
     var obj = new Object();
    // 把父页面窗口对象当作参数传递到对话框中,以便对话框操纵父页自动刷新。
    para1=document.getElementById(para1).value;
    para2=document.getElementById(para2).value;
   
    obj.para1 = para1;
    obj.para2 = para2;

    // 显示对话框。
    var ret=window.showModalDialog(frmWin,obj,'dialogWidth='+width +'px;dialogHeight='+height+'px;help:no;status:no');

    //获得模式窗口的返回值   
    if(ret && ret!="")
    {
    document.getElementById(paraReturn).value=ret;
    }
}
</script>

结果问题来了,在父窗口一直保留的情况下,打开的模式窗口中始终显示的是第一次打开的内容,无论你关闭打开模式窗口多少次,刷新父窗口多少次,都不能及时刷新。除非你关闭父窗口浏览器。重新启一个。

解决方式很简单

1.javascript方式,每次模式窗口的url参数都不一样让IE无法缓存模式窗口的内容

var num=Math.random()
...
var ret=window.showModalDialog(frmWin+"?"+num,obj,'dialogWidth='+width +'px;dialogHeight='+height+'px;help:no;status:no');

2.asp(asp.net)方式

修改ModalDialog.aspx Page_Load中增加以下三行:

         Response.CacheControl = "no-cache";
         Response.AddHeader ("Pragma", "no-cache");
         Response.Expires = 0;

经过测试均OK!

转载于:https://www.cnblogs.com/fubin/archive/2008/11/08/1329517.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值