ASP.NET applications can be built using any number of coding paradigms.
Microsoft recommends a code organization strategy they call the “code behind” model, where template code is held in .aspx files. Functional code is in separate files with doubled extensions (like .aspx.cs). User controls that have an associated GUI are created using a markup file that stores presentational information and controller files. Internal controllers do not have separate markup files but are compiled into DLLs (dynamically linked libraries).