ASP.NET - Google Chrome caching DropDownList selections

Posted by Fake on Stack Overflow See other posts from Stack Overflow or by Fake
Published on 2010-05-21T20:27:58Z Indexed on 2010/05/21 20:30 UTC
Read the original article Hit count: 164

I'm experiencing what seems to be a caching issue with Google Chrome and Safari on my cart page. In the cart there are 2 dropdown lists. When you hit the checkout button after changing the values in the dropdown lists, it commits what's selected in the lists to the database.

It's a little bit hard to explain the unexpected behavior so I will try to write it out step by step with an illustration of my problem.

Lets say the first dropdown list has the values of:

  • VALUE1
  • VALUE2
  • VALUE3

And the second dropdown list has the values of:

  • DUMBO1
  • DUMBO2
  • DUMBO3

I add an item to my cart.

Screen Says: VALUE1, DUMBO1

Database Says: VALUE1, DUMBO1

I hit Checkout.

Database says: VALUE1, DUMBO1 (I can't see the dropdown lists after I hit checkout because i'm not at the cart page)

I hit the back button.

Screen Says: VALUE1, DUMBO1

Database Says: VALUE1, DUMBO1

I drop down the VALUE1 combo and select VALUE2, VALUE2 is selected momentarily and then the site posts back and VALUE1 is re-selected in the drop down list (from being reloaded from the DB)

MOMENTARILY Screen Says: VALUE2, DUMBO1

Database Says: VALUE1, DUMBO1

THEN AFTER POSTBACK FROM DROPDOWNLIST_SELECTIONCHANGED EVENT

Screen Says: VALUE1, DUMBO1

Database Says: VALUE1, DUMBO1

Hit Checkout.

Database Says VALUE1 ,DUMBO1 (I can't see the dropdown lists after I hit checkout because i'm not at the cart page)

Go back.

Screen Says: VALUE2, DUMBO1

Database Says: VALUE1, DUMBO1

So it appears that it's remembering my selection of VALUE2 even though it jumped back to VALUE1 before I checked out.

It seems to be a caching problem, however I've got some no-cache code to prevent caching of that page that works great in firefox and internet explorer but seems to be failing in Chrome and Safari. I'm basically returning in the headers for the cart page: no-cache, no-store, and must-revalidate to attempt to prevent caching, but based on this scenario it seems to be caching the page anyway and not reloading it when I hit the back button.

I am open to any solutions or suggestions at this point. Thanks!

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about google-chrome