The issue may be that Cassini (the development web server associated with Visual Studio) doesn't restart if you change certain files, and does restart if you change others. For example, if you have an HttpModule in the App_Code folder, and you change its code, Cassini will not restart automatically. However, if you change web.config, then it will. Sometimes, doing a recompile on the site will fix it, but many times it won't.
I submitted a bug to Microsoft via Connect about this; their response was that the behavior was "as designed."
My solution was to switch to using IIS instead of Cassini -- just configure IIS to point to the development folder, and then change the startup URL to be http://localhost/ Cassini has a bunch of other annoying features too (like no support for compression), so this works better for me. I can still debug this way, too, so nothing lost.
Having said all of that, if you are only changing the .aspx page, then you may have something else going on....