This is usually done by creating controls instead of pages and using a page to contain both controls which can be switched.
Basically you would use either a
asp:multiview
control or just make each one visible = true / false.
The only way to change the page content without reloading the entire page would be to perform an AJAX call. You could call a webservice and use the response to change some visibility in javascript, but that's only really needed if you want a very high performance page or there is a LOT of data to load.
The easiest way is to use the updatepanel to perform partial postbacks:
How to enable partial rendering with the AJAX UpdatePanel[
^]
Hope that helps ^_^
Andy