UpdatePanel in incomplete state after using browser's back button

johna by | January 27, 2015 | ASP.NET Web Forms Web Development

I recently experienced an issue with an ASP.NET Web Forms page with various UpdatePanels. The page has two DropDownLists, the selection of one results in populating of possible values in the other, and the selection of the other results in enabling of a Button. Then if the Button is clicked the user is redirected to another website, based on their selection.

The problem is after the redirect to the other website, if the user then goes back to the original page, the first DropDownList is in its last state, but the second DropDownList is empty and to continue they must either select away from their last choice in the first DropDownList or refresh the page.

Ideally I would like to return the page and all controls to their last state, or make the page reset to as if it was accessed for the first time.

The ScriptManager history functionality could probably be used for this purpose, but a simple solution that worked for me was to disable all caching of the page, which results in the page being reset.

The following code might be a bit of overkill but does the job:
Response.Expires = 0;
Response.ExpiresAbsolute = DateTime.Now.AddYears(-2);
Response.AddHeader("pragma", "no-cache");
Response.AddHeader("cache-control", "private");
Response.CacheControl = "no-cache";
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
The answer came from this answer on ASP.NET forums.

Related Posts

Electronics Web Development

Another pointless project - the programmable digital watch

by johna | January 20, 2025
I've come up with yet another pointless project. Would you like a watch that you could program yourself - but not a "smart watch"?

Web Development Retro Computing

Converting dBase IV programs to run in the browser

by johna | September 13, 2024
Some pointless entertainment trying to get some old dBase programs running in the browser.

Web Development

How to set up a debugging using the Turnkey Linux LAMP stack and VS Code

by johna | December 19, 2023
The second part in my guide to setting up a website and database using the Turnkey Linux LAMP stack.

Comments

There are no comments yet. Be the first to leave a comment!

Leave a Comment

About

...random postings about web development and programming, Internet, computers and electronics topics.

I recommend ASPnix for web hosting and Crazy Domains for domain registration.

Subscribe

Get the latest posts delivered to your inbox.