Today I use asp.net and PHP only for back end REST API. No longer use them for front end. Front end code and server end code are completely separated. It is the reason why ESRI create Arcgis REST API, socrata create the SODA API.
The advantage of separation is obvious, it is FREEDOM. Anybody can create many many kind of front end against your server end REST API. ESRI Arcgis REST API and Socrata SODA API allow anybody to create any style of front end.
In old days, it is not possible to do so, if they mix the server end code with front end code.
If you wrote server end code, you definetly do not want to mix with front end code. Instead publish it as a set of REST API, like ESRI and Socrata did. Choose Asp.net or PHP or Java or Node.JS or Go language are no longer that important. No matter what you choose, your front end are always the same. I choose Node.js because it is free and designed for separation. People choose asp.net maybe because they want to integrate with organization's windows active directory etc. People choose PHP maybe because they don't want to pay Microsoft. People choose Java because it is free and have enterprise level. PHP lack of enterprise level. Many many reason affect what server end language you choose.