I've been developing PHP based websites for about 2 years now but I'd like to start learning ASP.NET as well. As a PHP developer I have a good understanding of programming fundamentals including developing Object Orientated / MVC based web applications.

I've looked into ASP.NET and see that there are 3 main ways of using it: 'Web Pages', 'Web Forms' and 'MVC'. From what I can gather the first two are more primitive, does this mean I should ignore them or are they still something I need to be learning?

I also don't know any C# yet. Is this something i'll 'pick-up' during the course of learning ASP.NET or should I make an effort to learn this in it's own right?

I'm sure there is no 'right way' of doing it, but i'd like to hear how others went about it. At the moment i'm just not sure where to start!