Are you talking ASP, or ASP.Net?
ASP - no. ASP is not a compiled platform, it is interpreted. That means the
code is compiled at run time only, it is not pre-compiled. That means the
ASP interpreter needs to have the code there to constantly scanning it and
compiling it just in time for viewing.
For ASP.Net, yes. This is done with code-seperation where you put the code
into what is known as a code-behind page. This code-behind is compiled into
one or more dlls (depends on the application project type). The code-behind
files then don't need to be published. The ASP.Net page still do since they
contain the visual portion, but the code mechanics to make it work don't. I
can't remember if Visual Web Developer Express supports compiling an
application into a single dll or not. Visual Studio 2005 (with Service Pack
1) has a project type called a Web Application Project that is designed to
do this. I believe it may also be possible to run the compiler from the
comand line to build the code-behind pages into a single dll but I have not
done this myself and am not sure of the syntax.