I want to ask: Do I need to be a professional in c# to be a professional ASP.NET web developer? :rolleyes:
Short answer? No. Long-term answer? Yes. ASP.NET is one facet of the .NET umbrella. If you do master C#, you should feel comfortable working with the web (asp.net), WinForms/WPF, and RIA...among many others. If you only want to be an asp.net developer, mastery of C# not need, but will help you branch-out later down the road.
C# one of the languages you write in on the asp.net framework. You can also use VB.NET if you like. But you will have to know some sort of programming language. eg. C# of VB.NET