web application projects still create one dll per page. the difference
is that visual studio compiles the codebehind files into one dll, then
call the asp_compiler to build a dll per page, referencing the dll. so
web application actually end up with one more dll than web sites.
the practical difference is for web applications a project file is
maintained by visual studio (to compile the codebehind files) and
because the codebehinds are in one dll, they implicitly have a reference
to each other.
in a web site the pages are independent and if a page references another
page the proper way (as good coding would require anyway) is to
implement an interface in the app_code dir, then have the page implement
the interface. to call methods on another page, you cast it the known
interface. this turned out to be too complicated for causal coders, so
web application projects were added to asp.net 2.0.
i'd recommend you use web sites instead of web applications, as its a
cleaner approach.
-- bruce (sqlwork.com)