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.CacheControl = "no-cache";
The answer came from this answer on ASP.NET forums