Re: OutputCache Back Button Page Expires

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: bruce barker (nospam_brubar_at_safeco.com)
Date: 10/20/04


Date: Wed, 20 Oct 2004 09:20:33 -0700

if you set OutputCache Location="None", you are telling everyone (browser,
proxy server and asp.net) to not cache the page.

when the user hit back on an aspx page that displayed from a postback, the
browser knows it has to repost the data to get a fresh version of the page.
as so many people wrote bad web sites that could not handle this case
(double charge cc cards, double order, etc), the browsers added this
warning. how many sites have you gone to where they say don't click twice or
hit back (these poorly coded sites are the why the browsers had to get
defensive).

so we all have to pay for bad coding practices, sorry.

i would not use smartnav, but if you are tempted, know that it just uses an
iframe to hid the nav history, so you could design your site as a framed
site and hid the nav history.

-- bruce (sqlwork.com)

"Johan Nedin" <radioboring@hotmail.com> wrote in message
news:2bb8ab8f.0410200200.7bc06492@posting.google.com...
> Hello!
>
> I am having a problem with the @OutputCache page directive and Web
> browser Back Buttons.
>
> Problem:
>
> After setting <%@ OutputCache Location="None" %> on my pages I get the
> "Warning! Page has expired" error message, when pushing the Back
> Button in my Web browser.
>
> After reading several posts on the subject I found a solution to the
> problem.
>
> Solution:
>
> Enable SmartNavigation on the page I am browsing back to. This
> solution actually work, which is good.
>
> But I am not completely satisfied. I have worked with smart navigation
> before, and smart navigation has a tendency to lead to problems (at
> least when I use it...), and my original idea seemed to good to
> surender to smart navigation.
>
> Background:
>
> I am implementing a classic Web Shop, and I have the shopping cart
> implemented as a UserControl. The cart can be added to (or deleted
> from) on different pages in the Shop. If the OutputCache is not set to
> Location="None", Page_Load doesn't fire when you push the Back Button
> (since the page is cached), and if you have added to the cart and push
> back, changes to the cart is not visible to the user (especially if
> you switch to a different page) since Page_Load is not fired, and the
> cart can't be rebound to reflect the changes to the cart.
>
> (I have developed a framework similar to the UIP Application Block
> which works very well and keeps state updated between pages)
>
> I thought the purpose of the Location="None" setting was to trigger
> the Page_Load event on the pages, not to trigger a pointless error
> message to the user. Pointless beacuse if the user repeatedly push the
> back button, the desired page is shown (with cart updated).
>
> Questions:
>
> Is there a way to work around my "problem" without using the
> SmartNavigation feature?
>
> And can someone explain why the Location="None" setting isn't working
> like I wan't it to, I mean, I think my desired behavior is pretty
> straight forward?
>
> Final question: Is there a better way? :)
>
> / Johan Nedin



Relevant Pages

  • Re: "back" navigation how to?
    ... The FrontPage Back and Next links use Navigation Bars. ... You could investigate opening the cart pages in a new browser window (the ...
    (microsoft.public.frontpage.client)
  • Re: Session State does not end after closing browser
    ... >> David Lozzi ... >>> are the cart items stored in a DB or just in the session? ... If the user loads the shopping cart and then closes all browser ...
    (microsoft.public.inetserver.asp.general)
  • OutputCache Back Button Page Expires
    ... I am having a problem with the @OutputCache page directive and Web ... Page has expired" error message, ... Button in my Web browser. ... I am implementing a classic Web Shop, and I have the shopping cart ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Another Scripting Hole In Microsoft IE Exposes Local Files
    ... > that a flaw in IE was more damaging than a flaw in any other browser, ... > A flaw in IE may be more damaging simply because it is more likely to hit more ... > users, certainly, but the OP was suggesting that a user hit with a flaw in IE ... > score points at all expense, and argue the point at issue. ...
    (comp.security.misc)
  • Re: OutputCacheSection
    ... A linked stylesheet file is a static web resource that is cached by browser ... (if browser is caching files), which is not affected by the @ OutputCache ...
    (microsoft.public.dotnet.framework.aspnet)