My general advice for people who want to become professional programmers is to try to get these things:
1) A college degree in Computer Science or a related field
2) Work experience in the field
3) Certification in .NET
Amit Kalani has 3 great C# books to help you learn the core areas of .NET and get certified. Even if you don't want to get certified, these are great ways to learn .NET. He teaches each new area in a short section, and then he has a practical step-by-step exercise to demonstrate what you just learned. There are many small sections like this. It takes time to go through everything, but it's easy to learn this way, even if you have no prior experience in .NET.
http://www.techcontent.com
Get the blue Training guides - not the red Exam Cram books. Start with the book on 70-315 if you want to learn ASP.NET with C#.
For
VB.NET, Mike Gunderloy has published these same books using
VB.NET instead of C#.
One last word on work experience: if you can't get an entry level job where they are willing to teach you (which is very hard to get in today's economy), it is helpful to do some volunteer work for churches or charities in your area. When you apply for a job, the interviewer will want to see examples of your work. If you can point to a URL on the web and say you made that site, that's a great benefit for you. It also helps you meet people who might someday be able to help your career.
After you get thru Kalani's book, this book will help you learn how to put the knowledge into action on a larger site: "ASP.NET Website Programming Prob-Design-Solution". But you might want to look into newer books coming out in the next few months that target Visual Studio 2005. This career field is always moving forward, and you need to move with it, or you'll get left behind.
Eric