With our push to share the kernel of your software in reusable C# libraries and build a native experience per platform (iOS, Android, WP7 on phones and WPF/Windows, MonoMac/OSX, Gtk/Linux) one component that is always missing is what about doing a web UI that also shares some of the code.
Until very recently the answer was far from optimal, and included things like: put the kernel on the server and use some .NET stack to ship the HTML to the client.
Today there are two solid choices to run your C# code on the browser and share code between the web and your native UIs.
You can try their Try JSIL page to get a taste of what is possible.
It is a fresh, new compiler and unlik JSIL it is limited to compiling the C# language. Although it is missing some language features, it is actively being developed.
The only downside with Native Client today is that it does not run on iOS or Android.