What you are dealing with is actually an old problem. Essentially, the reason you see the “webpage has expired” message is because one of the methods to disable the back button was used. This method sets the cache to a date in the past, so the browser should show this error if the user clicks the back button.
This will be a line of code:
Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
This was a problem, especially with ASP.NET WebForms due to the way postback works compared to other frames.
For a detailed explanation of all the issues raised, I highly recommend reading the article below. He does not answer your question directly, but I think that you will get more information from him than a simple answer that will help you analyze your options, armed with a better understanding of the problem. Be sure to read parts 1 and 2.
http://www.4guysfromrolla.com/webtech/111500-1.shtml
I have an idea on how to make the back button behave like a back button, so postbacks are not considered page navigation:
Personally, I took a (possibly hacky / messy) approach to just put things in the UpdatePanel when I don't need the postbacl / back button conflict, since I use Ajax in most of my applications. This forces the back button to return to the previous page, instead of standing on the same page, but returning to the control values, as it was before the postback.
David source share