You need to use webparts for asp.net which will solve all of your issues.
Here you go:
http://www.beansoftware.com/ASP.NET-Tutorials/Web-Parts.aspx
They have also explained keeping some common usercontrols as webparts on page so that user can move them around.