I have several pages of my web application done. They all use the same master page so they all all look very similar, except of course for the content. It’s technically possible to put a larger update panel and have all the pages in one big update panel so that instead of jumping from page to page, the user always stays on the same page and the links trigger __doPostback call-backs to update with the appropriate panel.
What could be the problem(s) with building my site like this?
Well, “pages” provide what is known as the “Service Interface layer” between your business layer and the http aspect of the web application. That is all of the http, session and related aspects are “converted” into regular C# types (string, int, custom types etc.) and the page then calls methods in the business layer using regular C# calling conventions.
So if you have only one update panel in your whole application, what you’re effectively saying is that one page (the code behind portion) will have to handle all of the translations between the http “ness” and the business layer. That’ll just be a mess from a maintainable perspective and a debugging perspective.
If you’re in a team that each of you will be potentially modifying the same code behind. This could be a problem for some source control systems but one or more of you could define the same method name with the same signature and different implementations. That’s won’t be easy to merge.
From a design perspective, there is no separation of concerns. If you have a menu or hyper link on a business application, it most likely means a difference concern. Not a good design at all.
From a performance perspective you’ll be loading all of your systems functionality no matter what function your user is actually doing.
You could still have the user experience such that they have the one page experience and redirect the callback to handlers for the specific areas on concern. But I’d think real hard about the UI and the actual user experience you’ll be providing. It’s possible that you’ll have a clutter of menus and other functionality when you combine everything into one page.
Unless the system you are building a really simple and has no potential to grow beyond what it currently is and provide your users with a one page experience is truly provide value and an improved user experience and wouldn’t go down this route.
When you have a hammer, everything looks like a nail.