See the question and my original answer on StackOverflow

One solution I used is to avoid code-behind based code. If you concentrate your C# or VB code in custom controls, and ensure all HTML is done in ASPX/ASCX (to keep a clean separation between UI and Business code), you can just press F5 on the browser (not Visual Studio) when you only change HTML content (once the web server IIS or VSWebDev is started of course), because, as you know, you don't need to compile a Visual Studio project to ensure ASP.NET markup files are recompiled: this is done on the fly by the ASP.NET engine.

Of course, you still have to compile some .NET code C# or VB sometimes when you change business code, and redeploy it to the web server, but when there is a lot of markup changes to work on, this can save me a lot of time.