Not that I'm a .NET guru... yet...
... but if you are familiar with Web Objects (now owned by Apple), it's very similar in concept. Web Objects is a tank beast of a development, and .NET is a bloody nuke. Consider ASP as a side-arm. .NET takes development to entirely new realms - way less code and way more powerful code. There are some draw backs like the way your program, but that's just a learning curve. e.g. When you are used to programming seperate pages to perform aspects of a task, with .NET you often end up doing it in the same page. This can be awkward at times, but once you've got the hang of it, it's only a matter of reorganization.
Also, there are some bloody nice features in there, like how conditionals are treated - if the condition is false, the code inside it becomes utterly meaningless and is never even considered by the application server - VERY useful if you want to make declarations like dim or const. In classic ASP you'll run into problems there.
There are lots of resources out there, and initially, the whole thing scared the bejezuz out of me... better now though
.
Good luck.