Well. Asp.net or PHP ? simple question, but advanced to answer I think. I have seen many BIG sites which uses asp.net. Why is that ? And what can you do in asp.net that you can't do in php ? what can you do in php that you can't do in asp.net ? I mean, I see that many dating sites/socail network sites use asp.net
the thing about ASP.NET is that it's Microsoft technology and therefore you're somehow limited to using your web application on a Windows platform. Yes there's a linux version of the software but it's not fully supported. PHP on the other hand is multi-platform is should be available on most paid web hosting.
An unusual thread that isnt microsoft bashing. Both .Net and PHP are free but as correctly said, you need to be running Windows as your server software (but these days the two are more or less the same price anyway). Mono which is the Linux version of .Net isnt very good and whilst it would be fine for a hobby site I wouldnt use it for any commercial applications. Also, whilst PHP is available on most hosting you really need to ensure that the hosting uses Apache as the server rather than Windows IIS as IIS doesnt support .htaccess files and a few other things which are key to many off the shelf PHP scripts. There is the Express versions of Visual Studio which are the free IDE's for .Net which when combined with one or two free utilities makes it perfectly powerful enough for most users - many of the "missing" features of Visual Studio in the Express versions are actually there but they simply lack the GUI to make them user friendly but that is what the utilities add. One of the key advantages with .Net for us is the fact you can 1) do a lot more with it out the box than PHP (though there are plenty of free plugins for PHP to cover the gaps) 2) the coding is much quicker to do - for example you could run a query on a database and present it in a table on the webpage allowing users to resort by field and include paging with only 2 lines of code with .Net (in reality it would be longer to make it look prettier) and 3) The code is compiled and so "typically" runs faster and makes people more comfortable giving it out to others without as much fear of them copying the code (also on server run failures it cannot give the source code as it is compiled where as PHP will occasionally give source code if the server is poorly configured or a hacker knows what they are doing)