Angular 2和ASP.NET MVC 4路由不能一起工作

时间:2016-11-27 17:43:38

标签: asp.net-mvc-4 angular2-routing

我在ASP.NET MVC 4项目中实现了Angular2。 MVC路由覆盖了Angular 2路由。我怎样才能同时处理两个路由?

我做了以下修改:

_layout.cshtml:

const route: Routes= [
{path: 'firstpage', component: firstComponent},
{path: 'secondpage', component: secondComponent}
]

app.routing.ts:

routes.MapRoute(
    name: "app1",
    url: "app1/{*url}",
    defaults: new { controller = "app1", action = "Index" }
    );

我在RouteConfig.cs中添加了以下代码MVC默认路由:

plt.hlines

我尝试使用以下网址:

http://localhost:50450/app1/firstpage

http://localhost:50450/#/app1/firstpage

仍然无法正常工作,我应该做什么或做什么?我错过了什么?

1 个答案:

答案 0 :(得分:1)

我处理它的方式是在RouteConfig中添加与angular路径相同的路径,如下所示:

        routes.MapRoute(
            name: "RouteName",
            url: "routeUrl",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

所以现在如果路由是http://localhost:3000/routeUrl,.net端只会将请求转发到家庭控制器,索引操作并将其渲染为好像是http://localhost:3000/之类的请求然后是angular 2路由器可以接管并做其事。