I am going to key off the fact you are developing a Web Part for 2007. Web parts imply you want to give users the ability to add the parts to pages as they wish. To implement a web part, you then need a stand alone DLL that is either deployed to the bin directory of the SharePoint IIS application or the Global Assembly Cache.
Generally with SharePoint, you do not HAVE an ASPX page to embed controls within and make it reproducible. ASPX pages will get created by users or features, and users will then add web parts to these pages. SharePoint is essentially a virtual file system, with many of the ASPX page either living in the database or in the SharePoint root folder making code behind a non-trivial task.
The web part needs to be deployed as a stand alone DLL file. Given the way web part development is, you do not have a design surface to create your user interface, so you need to create your control tree via code, with the preferred time during the lifecycle being the CreateChildControls section (see the earlier link).
There are some other ways around this such as Son of SmartPart (http://weblogs.asp.net/jan/archive/2005/11/22/431151.aspx), which allows you to create a User control and then you load the user control into your web part control tree. This is essentially the approach Microsoft took in 2010 with their Visual Web Part functionality.
The vast majority of the Web Part development for SharePoint uses the same Namespace as ASP.NET development, so if you are not doing SharePoint specific functionality within your code like list reading, etc, the web parts should be usable in both ASP.NET and SharePoint environments.
John