Bella domanda
Personalmente ho lavorato un paio di anni con asp.net mvc (webform l'ho solo provato ma non mi ispira onestamente) e devo dire che per parecchie cose supera di gran lunga php.
La risposta è: dipende dal tipo di applicazione web che devi fare. Il bello di asp.net mvc, ad esempio, è che ti permette di ragionare esclusivamente ad oggetti, entity framework (l'ORM usato da Microsoft) ti permette di creare le tue classi e poi ci pensa lui a crearti il database (http://msdn.microsoft.com/it-it/data/jj193542.aspx). Il routing engine veramente fatto bene, ha Razor dalla versione MVC3 come motore di view engine molto carino, e comunque ti permette di utilizzare view engine diversi (volendo si può utilizzare quello utilizzato da django in python ad esempio).
Devo dire però che molte di queste feature le sto ritrovando ora cominciando ad utilizzare laravel.
Non so il tuo livello di esperienza con php. Se ti stai approcciando ora alla programmazione ad oggetti ti direi di andare con php e poi, anche solo per completezza .net secondo me è da imparare. Spero di essere stato abbastanza esauriente![]()