views:

777

answers:

3

My website is an asp.net-mvc(beta1) website, fully validates and works in all browsers (except obviously in IE6 for this matter).

I can reproduce the error by doing the following:

  1. Make a POST request with some parameters
  2. From the results click one of the generated GET links
  3. Pressing the "BACK" button from the resulted page.

Sometimes the back button does nothing (last request's page keeps on screen, status says "Done")
Sometimes a completely empty page is shown with the correct URL and the "Done" status
Sometimes the res://ieframe.dll/repost.htm page is shown with "Cannot find server" title.

I have yet to find the triggering factor..

I'm guessing IE is not caching anything there so it will re-post the url. Nothing seems to be hitting my controller though.

What is happening? How can I start to debug this or even better: fix this?

+3  A: 

Implement POST+REDIRECT+GET?

cletus
A: 

IE won't re-post without prompting the user. If IE isn't caching the results page (check what cache headers you are sending it), you should get the repost prompt. I don't know why you'd get 'Server not found' instead - sounds like a confused IE installation. (Is it a multiple-IE setup?)

As cletus mentioned, post-redirect-get is generally desirable for successful post forms.

bobince
It is indeed a multiple IE setup.
borisCallens
Then I would suspect that first; there are a number of subtle weirdnesses you get when you do this and it wouldn't surprise me if ieframe.dll wasn't cross-version-compatible. Consider virtual machines for more accurate testing.
bobince
A: 

To analyze the traffic between browser and server you should put Fiddler in bewteen.

This way you'll find out if IE6 sends any request at all back to the server upon hitting the back button.

mkoeller