The simplest way is to append a parameter with a compressed date/time stamp on the query string... This makes it looks like a whole new page to the browsers.
Just a quick update, if you are POSTing data to the server, then IE will skip the cache and load the new data. However, if you are only issuing GET requests, then IE is going to look at the URL and it's own settings to determine whether to pull from cache or actually go to the server for the data.
Now if the user has the "Check for newer versions of stored pages" set to Never, then there is nothing you can do about it short of appending a value to the query string. See KB263070 for detailed info from MS on those options. A quick look through microsoft answers shows a large number of people who have been bit by this. The solution that is always given is for the user to modify their cache settings.
So, for you, the solution is going to be to (in level of complexity)
- Append a highly variable query string value
- Inform your users that they MUST change the "Check for newer versions" setting to either Every visit to the page or Automatically.
- Change your links to cause post backs. (yuck)
A number of applications choose either item 2 or item 1. The reason being that 2 has the least impact on the code base while item 1 has the least impact on your users.
If this is an admin site, then I'd say go with option 2 as you should have a fair amount of leverage over the users' desktop settings.