I think there's a third option you're omitting which needs serious consideration: Don't.
Let's start with the options you're putting up:
Mono is good (for things built for Mono) but it's not tested nearly as well and that's really very important when you're dealing with online services because there's little to reassure you that it'll work reliably and even if it does, will it be secure?
If it's a local-only project and the site works, that's probably good enough. If this is online and a widely used resource, it's going to get probed for vulnerabilities by bad people (every site does). I wouldn't be confident Mono was suitable.
Wine won't work. It's not just .NET you need running, it's the whole IIS stack. There's no separation between real Windows and IIS so from both legal and technical standpoints, it's dead in the water.
If you absolutely had to stop there and pick one of those it's a no-brainer. Mono wins every time. But those aren't your only two options. There's the third option where you just don't attempt to run an ASP.NET website under Ubuntu. That leaves you with two options:
- Use a proper Windows/IIS/SQL Server/ASP.NET stack.
- Port the website to something portable (PHP/Django/etc)
I was in a similar situation in 2010. I had moved my desktop to Ubuntu a few years before hand and was finding it really hard to maintain a personal website because it was thousands of lines of compiled ASP.NET. It required loading Visual Studio in XP on VirtualBox if I wanted to make major changes.
This is more extreme than your situation but rewriting in a more suitable framework was the best thing I've done with the site.