我原本认为这是不可能的,但刚刚我跟一个同事说话,她说她以前做过。她是在开玩笑吗?
这不是一件可以自动完成的事情。
诀窍在于,无论是Winforms还是Webforms都使用普通的类来表示表单。然而,在Webforms中,类的实例与Winforms相比生命周期较短;每个Webforms类实例仅代表一个HTTP请求,而不像Winforms一样代表整个表单的生命周期。每当您在ASP.Net Webforms中处理表单事件时,都会使用一个全新的类实例。微软花了很多力气来尽可能地弥补这个问题,但最终将Webform视为Winform的同一术语并不是一个好主意。
您肯定可以将Winforms应用程序重写为使用Webforms,但它只是一次重写。
在之前的回答中,需要注意的是,有些winform功能在webform中根本不存在,因此这取决于首先在winform中有什么。
再多说一句:重写取决于表单本身有多少逻辑。如果关注点分离得当,只需要将另一个 UI 插入到业务层即可。
问题在于,当然,90% 的应用程序仅仅是相对复杂的 CRUD UI(没有真正的业务逻辑)...