It highly depends on the design of existing application. If it had business logic, universal technological parts of code and application-specific code well isolated from UI, you could replace just the UI and the UI binding, otherwise it would be implementation from scratch, which is not such a bad thing: from my experience, really good applications were developed twice, and the first implementation served as a prototype useful for collecting experience and learning application field. Your second implementation can be done so it could have dual UI possible: both desktop and the Web.
To get an idea, take a look:
If you choose to start with ASP.NET, for example, the problem of state management will look like this: