do i need to learn the language before .net
"...I am about to pick up the .net professional edition .."
The languages themselves are pretty simple - if you know some C++ and Java, C# will seem straightforward, with a few gotchas. Similarly VB.Net and VB are mostly similar. The thing that takes learning is the .NET framework(s) inside which these languages operate. If you don't know what the "normal" .NET way is to do something, you can end up writing a lot of unnecessary code to reinvent the wheel, instead of just calling System.UsefulStuff.HandyClass.DoWhatIWanted()
I don't know about ASP and ASP.NET and web software, but I know about C++ and C# and desktop software.
I think the question of the OP is misplaced. In my view, you may as well be asking if it is a pre-requistie to learn Assembly prior to learning about common computer architectures. The two definately interact, but knowledge of one will not preclude you from learning about the other.
Check out Joe Hummels webcasts. The clearest, most concise introduction to what .net is about that I have seen!
Fog Creek Home