Alex Rivera | Logout

How do you disable caching on Modal dialogs in IE?

Asked 2008-12-01T12:07:08.900
9

We have implemented a popup window as a modal dialog using the IE method:

window.showModalDialog('...aspx')

The target of the popup window is itself an ASP.Net web page.

Assume for the following steps that the popup has never been launched:

  1. Launch popup.
  2. Page_Load event handler executes on server side.
  3. Close popup.
  4. Immediately launch popup again.
  5. This time Page_Load event handler doesn't execute.

It's clear that the popup content is being cached because if at Step 4 we clear the temporary internet files the Page_Load event handler is executed the second time.

We have experimented with adding the following to the Head of the web page (as recommended by several other sources) but none of it seems to work.

<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />

We have also seen places where the use of these is discouraged

Can anyone help?

Edit
Report

1 Answer

2

Place Fiddler in between the IE and your server. Then check if the response to your request carries a HTTP header Cache-Control. Is there some value given other than no-cache ? If so then maybe IE will give this header priority over your http-equiv directive.

If not, you should try to make the server send the HTTP header Cache-Control:no-cache. If IE does not respect this, it's a bug in IE. Experience shows it's less painfull to opt for a different solution than to press for a bugfix, so in this case I'd agree to the tip of Greg.

answered 2008-12-01T13:53:01.633

Your Answer