If you go to Build-> Publish Web Site menu on Visual Studio 2005, you will find this publishing screen:
If you UNCHECK the "Allow this precompiled site to be updatable", all the aspx pages within the projects will be generated empty. To be more exact, you will find the following unique line on them:
This is a marker file generated by the precompilation tool, and should not be deleted!
If you compare this screenshot:
with this one:
you will realize how the first was published allowing ASPX pages to be updated and the second not (notice how in second screenshot, all the ASPX files have 1kb file size)
Don't worry!, All HTML markup and inline code is compiled into assemblies on the bin folder, and it is correctly executed and rendered when the page is requested.
This way, nobody would be able to change either code or HTML content after the publishing is done!