如何在IE中禁用Modal对话框上的缓存?

And*_*age 9 html internet-explorer caching modal-dialog

我们使用IE方法将弹出窗口实现为模式对话框:

window.showModalDialog('...aspx')
Run Code Online (Sandbox Code Playgroud)

弹出窗口的目标本身就是一个ASP.Net网页.

假设以下步骤从未启动过弹出窗口:

  1. 启动弹出窗口.
  2. Page_Load事件处理程序在服务器端执行.
  3. 关闭弹出窗口.
  4. 立即再次启动弹出窗口.
  5. 这次Page_Load事件处理程序不执行.

很明显弹出内容正在被缓存,因为如果在步骤4我们清除临时Internet文件,则第二次执行Page_Load事件处理程序.

我们已经尝试将以下内容添加到网页的主管中(正如其他几个来源所推荐的那样),但它们似乎都没有效果.

<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
Run Code Online (Sandbox Code Playgroud)

我们也看到过不鼓励使用这些的地方

有人可以帮忙吗?

Gre*_*man 9

将时间戳查询字符串变量添加到对话框内容的URL中 - 自1/1/08以来的刻度数或其他内容 - IE将其视为新页面并忽略缓存.


小智 8

要清除缓存,请在页面加载中添加:

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Run Code Online (Sandbox Code Playgroud)