PHP > ASP classic
ASP classic was not very well maintained, initially they were about on par with each other, but PHP kept receiving updates, so that was pretty inevitable. However, I do find the PHP syntax to be a little odd.
ASP.NET > PHP
ASP.NET has support for MANY different languages, including C#, VB.NET, C++, Python, and more, more complete list:
http://www.dotnetpowered.com/languages.aspx. You can have several of these different languages running on the same site, AND they are all compiled so they run faster. Also has legacy support for asp classic. VERY detailed debugging messages, and the ability to only show said debugging messages to the local area network for security purposes (can be turned off).
Code behind is nice to have because it keeps things a little bit more clean, and the design and programming departments can work more independently of each other as a result.
Anyway, ASP classic is out of date but definitely better than nothing, ASP.NET took a very different approach to the web design development cycle for the better, and PHP is probably the easiest of the three to learn, but falls short on performance and the new-fangled, but useful changes in asp.net.