Hi All,
Can anyone please explain me why I am not able to disable Browser caching in
ASP.net by writing the following code
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.Now.Subtract(new TimeSpan(1, 0,
0, 0));
Response.Expires = 0;
Response.CacheControl = "no-cache";
To test if it is working, I wrote the above code in the page load event
handler of a ASPX page called Page1.aspx. I added a Button with a click event
handler which posts the page to a second page Page2.aspx. Now when I press
back button on the browswer while in Page2.aspx, I get page1.aspx. I should
be getting page expired error page, but what I have observed is that whenever
i press back button on the browswer, page1.aspx is freshly loaded (I put
break on page_load event handler to find this out).
I also tried to write this code in the page_load event of Page1.aspx instead
of the four lines of code
Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);
The above code is also not working. I am using IE 7.0.
thanks
pradeep
Peter Bromberg [C# MVP] - 11 Apr 2008 16:42 GMT
I'm not sure I understand why you expect a "page expired" message. If
caching is disabled, the page would simply be re-requested by the browser,
exactly as you describe...
Peter
> Hi All,
>
[quoted text clipped - 29 lines]
> thanks
> pradeep
pradeep_TP - 12 Apr 2008 06:00 GMT
I do not want to show the previous page when the user clicks on the back
button on the browswer. All I want it that when the back button is pressed,
the standard "page expired" page should be shown.
You are right, now I understand that if I disable the page caching, the page
would be requested from the server. But how would i make the browser show
only the page expired message ?
thanks
pradeep
> I'm not sure I understand why you expect a "page expired" message. If
> caching is disabled, the page would simply be re-requested by the browser,
[quoted text clipped - 34 lines]
> > thanks
> > pradeep