现在的位置: 首页 > 综合 > 正文

关于showModalDialog()弹出窗口.更改了页面的数据,再次点击页面却没有刷新

2011年05月26日 ⁄ 综合 ⁄ 共 873字 ⁄ 字号 评论关闭

问题:我用showModalDialog()弹出窗口.更改了页面的数据.关闭之后,在弹出这个窗口.可是数据没有改变.刷新后才会变.也就是说再次弹出这个窗口时他没有重新加载page_load()函数.帮帮忙.谢谢.

解决方案:
1.

在你的弹出窗口的Page_Load里面写上

this.Page.Response.Expires = 0;

2.
在弹出页面的 HTML <head>区 里加入
<head>
<META http-equiv="Pragma" content="no-cache">
</head>

3.
在page load中把这句加上!
Context.Response.Cache.SetCacheability(HttpCacheability.NoCache);

4.
为了防止缓存,可以在页面的顶端添加 Response.Expires = -1
使用java提供的方法,在jsp或者servlet中都可以 <% response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0);
 %> 使用HTML标记,如下面: <HEAD> <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>

5.

showModalDialog('yourpage.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "id") %>'+'&temp='+Math.random(),window,'status:false;dialogWidth:600px;dialogHeight:400px')

 总结:
关键就是一个cache的问题.如何处理cache就是关键.

抱歉!评论已关闭.