如何将 asp.net 网络表单和 mvc 4 应用程序迁移到 AngularJS 站点

How to migrate an asp.net webform and mvc 4 application to AngularJS site

我有一个相当复杂和庞大的网站,目前是 webforms 和 mvc4 技术的混合体。我们希望将其迁移到基于 Angular 的站点,以便 UI 是统一的。我需要一些指导方针以找到前进的最佳方式。首先,我有以下问题。

  1. 混合站点可以移植到 Angular 还是首先我们必须将 webforms 部分转换为 mvc 4,然后再将 mvc 4 转换为 Angular?
  2. 网络表单是否可以完全转换为 Angular?
  3. AngularJS 是否只能与 WebAPI 一起工作,或者与 asp.net/wcf 等任何后端数据一起工作也可以吗?换句话说,业务层是否必须在 MS WebAPI 中重写?

谢谢

  1. 混合站点可以移植到 Angular 还是首先我们必须将 webforms 部分转换为 mvc 4,然后再将 mvc 4 转换为 Angular?

您可以使用 ASP.NET WebForms 或 ASP.NET MVC 与 AngularJS 的混合解决方案。您不需要从 WebForms 转换为 MVC,以便 AngularJS 在您现有的 Web 应用程序中使用。您可以将 AngularJS 脚本 (angular.js) 添加到母版页,然后将自定义 JavaScript 代码(控制器、服务等)放入 ASP.NET Scripts 文件夹,或在 Scripts 文件夹中创建结构,以便更清晰地分离内容。 AngularJS 就是 JavaScript。

  1. 网络表单是否可以完全转换为 Angular?

使用 AngularJS 不是 "conversion" 过程,它不一定是 ASP.NET 技术的替代品。换句话说,您可以让 AngularJS 与 ASP.NET 一起工作,或者您可以编写一个完全独立于 ASP.NET 的 AngularJS 应用程序。这不是一个非此即彼的命题。 AngularJS 只是 JavaScript.

  1. AngularJS 只能与 WebAPI 一起使用,或者与 asp.net/wcf 网络服务等任何后端数据一起工作吗?换句话说,业务层是否必须在MS Web中重写API?

不,AngularJS 不需要 ASP.NET Web API 作为后端,它将与多种服务器端技术一起工作(Node.js,PHP, ASP.NET).专门针对ASP.NET,可以使用ASP.NET AJAX Page Methods,ASP.NET MVC Action methods,WCF,ASP.NET Web API,等等AngularJS 只是 JavaScript.

我希望您明白 AngularJS 只是 JavaScript 可以插入现有和新架构的观点。可以把它想象成 jQuery。 jQuery 不是从 ASP.NET WebForms 到 ASP.NET MVC 的 "conversion" 过程,它是对技术的补充,有时效果很好,有时效果不佳;真的取决于你想要完成什么。