这是情况。我们正在为我们的基于 WebForms 的 webapps 套件添加一个新应用程序,所以我觉得这将是引入 MVC 的最佳时机。
我做了所有关于将两者混合的研究,并使用一个使用 MVC 路由的项目设置了所有项目Area
,而(Visual Studio)项目的其余部分以 Web 表单的运行方式运行。
母版页被转换为 Razor 布局,这还不错,因为每个应用程序之间只有一个母版页共享。
我现在遇到的问题是重用用户控件。我们有几十个自定义用户控件,其中许多相当复杂,可在我们所有的应用程序中重复使用。他们中的大多数(尤其是那些难以移植的)在 ViewState 和回发方面做了相当多的工作。
如果只是在 MVC 中重写这些,一次性成本将不太理想但并不可怕。但是由于现有的应用程序也需要维护和更新,因此使用完全不同的范例维护相同行为的 2 个版本似乎会极大地消耗生产力。
我的直觉说没有真正好的解决方案,我们可能不得不放弃为这个项目使用 MVC 并坚持使用 webforms 的想法,但我想看看 SO 社区是否对在这种情况下做什么有任何见解.