Honestly, I like ASP.NET. If you're selective about what features you use, you're working with a language that's like Java, but a lot nicer, and a much better standard library. If you spent a few years coding web apps in say PHP or Ruby and you understand how real frameworks work and what's good about 'shared nothing', you'll do OK.
However, like all Microsoft products, ASP.NET is full of traps. Things that you might think would be good because they came from a giant company, but that will just screw you up and waste your time.
One of the most dangerous things that comes in Visual Studio is a phony web server that starts when you hit the F5 button when you start a web app. The phony web server is enough like IIS that you might think that your app will work on IIS when it's done, but in reality, it probably won't quite work -- and it can sometimes take days or weeks to fill the gap from "almost works" to "really works"
I try to tell people that they should just install IIS (easy) and figure out how to make the app run on real IIS from the very beginning because somebody's going to have to do that work sooner or later.