Raj*_*Raj 2 .net model-view-controller asp.net-mvc-5 angular
关于将 .Net MVC 5 项目迁移到 Angular 2 的方法的任何建议。这是一个大项目,我们不能等待完全过渡。当我们可以一次迁移几个页面并仍然继续使用旧项目时,我们正在寻找一种并行移动。
我看到了有关如何在 MVC 5 中使用 Angular 2 的解决方案,但我们不想在这里合并这些问题,因为我们在使用另一个 javascript 框架时遇到了一些问题。
感谢您的帮助。
在一段时间内,您的一些路由将由 asp.net mvc 服务器端处理,而一些路由将由 ng2 应用程序客户端处理。
首先,想象一下转换完成后您的应用程序会是什么样子:您将拥有一个 razor cshtml 视图来启动您的应用程序。现在继续创建此视图,将其命名为“ngappview.cshtml”。它看起来像这样:
<!DOCTYPE html>
<html>
<head>
<base href="/">
<link href='~/assets/styles.bundle.min.css?v=5359476866832222' rel="stylesheet">
</head>
<body>
<app>
loading...
</app>
<script type='text/javascript' src='~/assets/main.bundle.min.js?v=5359476866832222'></script>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
现在,服务器端,每次将特定页面转换为 ng2 应用视图时,只需提供 ngappview.cshtml 视图。这将是您的 mvc 控制器:
[Route("someRouteConvertedToNg2")]
public class SomeController: Controller {
public ActionResult ThisIsNowNg2Function() {
return View("~/Views/ngappview.cshtml");
}
}Run Code Online (Sandbox Code Playgroud)
在客户端,当您的 ng2 应用程序需要调用仍在服务器端由 asp.net mvc 管理的路由时,您将不得不强制回发到该特定路由。请记住,对于每次回发,您将丢失在 ng2 应用程序中维护的任何状态;并且每次 ng2 视图都会重新加载 ng2 应用程序(可能很烦人)。一段时间会有点乱,但最终它会自己解决。
同时,这里有一篇关于如何最好地(在我看来)使用 asp.net mvc 设置 ng2 项目的相关文章:https ://stackoverflow.com/a/40234393/3532945
| 归档时间: |
|
| 查看次数: |
4413 次 |
| 最近记录: |