MS Development Tools rock!
Holy crap this is awesome! So much stuff is just done for you, and the Intellisense is simply amazing. The entire .Net framework is Intellisense enabled, and it picks up all your custom classes too. And it can dynamically refactor, so if you change MyVariable to MyNewVariable, it updates it for you across your project. And the IDE just feels comfortable. I can find things relatively easily, unlike my experience in Eclipse where I was constantly searching for stuff.
ASP.Net 2.0 is very slick
I've only done a few basic things with ASP.Net but already I've accomplished more than I ever did with a Domino web app. I drag and drop like I would in a normal IDE. I double-click to generate event handlers. I don't have to go searching for various places to stuff code or know about arcane $$ syntaxed elements.
And now for the bad...
Let's just be clear up front: you aren't going to easily create cross-platform applications using Visual Studio. That may be changing as Microsoft rolls out IronRuby and other dynamic language extensions, but it's not here yet. For now the fact remains that Microsoft steers you very strongly toward an all Microsoft solution.
Stepping outside the box is hard
Either you take what you've given or you pretty much have to rewrite it all from scratch. Case in point: when you use the nifty FormView component, which feeds SQL data into an HTML form, it includes a set of default templates for reading, updating, and adding records. If you don't like the way the default template looks it is extremely difficult to change it. You're better off recreating it from scratch.
The data access components that are provided via UI widgets are moderately functional but you will quickly run into limitations. It is better to code your own data access from the ground up. This, coupled with the previous limitation, means you'll be writing a lot more code than you may have anticipated. At least you'll be doing it in a very nice IDE.
Lessons learned (so far)
Trying to create an enterprise application that is entirely web-based just plain sucks. The stateless environment of the Internet is not well-suited to transactional data entry. Of course it can be done, but it's several orders of magnitude more everything than a rich client application: more code, more testing, and more server resources. After all that it's less functional than the comparable rich client solution.
For all the good stuff in Visual Studio, there are still some ugly bits and tremendous gotchas. If you rely on the IDE to do everything for you, you're going to end up with some marginal applications. This is one area where I think Domino Designer's lack of user friendliness is actually a good thing. You have to know what you're doing or you aren't even going to come close to a working solution. With VS.Net you can fake most of it by clicking and dragging. That's not to say I wouldn't like to see Domino Designer radically modernized, but there is something to be said for the "you know it or don't" way it is now.
So... which one is better? That's just too close to call for now. I'm not a fan of web-based enterprise applications, but I do think if I were headed down that path the ASP.Net route would win.