ASP.NET is cool when seen from above, it’s structure and design are excellent and were very innovative when it was launched (the visual controls that build the page by rendering recursively, very cool, I’m not sure however if they were the first that invented that).

One of the major issues is that there are lots of ways to do something :) it doesn’t force you to do it the correct way. You may so easily screw up by taking the wrong way or writing unnecessary code for what you want to accomplish. Another major issue is that, while some basic things are very simple to do, some are not :) .