ASP.net is a development framework which allows you to use either C sharp or VB.NET language. There is also a new release called ASP.net 5 that supports angularJS, GruntJs, and node.js. Visual Basic and web forms are somewhat excluded in the features.
So basically there aren't any real pros and cons other than how the people needing to use the languages find them. As @rubberman says, PHP is far more neutral. If you use ASP.Net, you are committing to using Windows servers to run your site, which can be more costly.
If on the other hand you have experiance with C# or suchlike, then it would probably be a good idea to look into ASP.Net. This has been a long-running debate on DaniWeb, and the answer is always something along the lines of, all languages have their subtle pros and cons, so you should try both and see which one you take to.
This question has been asked often
The answer always comes down to: the answers above; The one that works,
PHP is a V.large base of small users, and some outstanding large users, a lot of GNU code, a lot of re-useable code
ASP is a smaller base of very large users, many of whom already are locked in to maintainence contracts, others who have entire departments to support their code, a lot of proprietary code, and is harder to break in
If you are planning to study, for example, where you see yourself working determines what you need to know