plain asp.net is not that good, however if you know AJAX that is .aspx extenshion, then its a powerful tool for some browser based games, interactive websites and stuff where refreshing is required.
Ajax (Asynchronous JavaScript and XML), is a group of inter-related web development techniques used for creating interactive web applications. Ajax is a cross-platform technique usable on many different operating systems, computer architectures, and web browsers as it is based on open standards such as JavaScript and the DOM. There are lot of free and open source implementations of suitable frameworks and libraries. There are indeed lot of PHP Ajax Frameworks : http://ajaxpatterns.org/PHP_Ajax_Frameworks
I wouldn't necessarily say one is better than the other, I have only learnt php but that is really only due to the lack of good tutorials on the net. I will one day get round to using asp.net. I am sure that all .net developers would say that their language is better than php, vice versa. And everybody seems to bashing on aout ajax, surely you can use ajax with whatever language you wish. Basically, everything you can do with php you can do with asp.net....