If you utilize ASP.NET precompilation of your ASPX/ASCX files, then yes: we can say that the application is compiled.
However, if ASP.NET precompilation is not used, then there will be a performance hit when the page is loaded for the first time because ASP.NET will have to compile it on the fly. As well, the lack of precompilation means that you may not catch an error in the mark-up until a specific component of the web app is called.
For maximum performance and early detection of errors, you should always precompile ASP.NET web applications.
There are components in the mark-up that bind at runtime (rather than at compile time), such as ObjectDataSource controls, but this is no different from writing C# code to perform reflection.
The compiled result is going to be only as statically verifiable as your code (or the ASP.NET framework) uses the features of the type system. Code that breaks the type system (e.g. via late binding with reflection) will run slower and introduce errors that the compiler cannot catch.