With the web application project add-on, all of the pages
are compiled into a single assembly, as in the .NET 1.x days. This means that
all of the files are compiled to the same assembly, and that the code-behind files
can be programmed against. What I mean is the ASP.NET page's class can be
potentially used within a user control because the user control and page are
not dynamically compiled.
In this model, a custom page class would not need defined in
the App_Code folder because all of the code-behind files can be programmed
against, making less work than the approach above. Though, it would be wise to
research the differences with Web Application Project applications to ensure it
is the right model for you.