Asp.net mvc routing asp.net mvc6/angular2路由
我有一个asp.NETMVC6项目。在客户端,我想使用angular2创建单页应用程序。这意味着我有两个地方可以定义路由。 就SPA而言,路由必须在angular2端,但当用户刷新页面时如何处理?MVC返回404 一种方法是在mvc6中设置启动路由:Asp.net mvc routing asp.net mvc6/angular2路由,asp.net-mvc-routing,angular2-routing,Asp.net Mvc Routing,Angular2 Routing,我有一个asp.NETMVC6项目。在客户端,我想使用angular2创建单页应用程序。这意味着我有两个地方可以定义路由。 就SPA而言,路由必须在angular2端,但当用户刷新页面时如何处理?MVC返回404 一种方法是在mvc6中设置启动路由: routes.MapRoute( name: "spa-fallback", template: "{*url}", defaults: new { controller =
routes.MapRoute(
name: "spa-fallback",
template: "{*url}",
defaults: new { controller = "OAuth", action = "Index" });
});
然后控制器向angular2发出请求。路径
但是,此{*url}无法识别*.map和其他静态文件。
也可能有场景,我想使用静态页面,如Error.html等
有没有更好的方法来处理服务器/客户端的路由问题?我也面临同样的问题,决定使用视图而不是静态文件 我已经用一个主控制器设置了MVC,它有两个操作:索引和登录 该应用程序在index.cshtml中启动,login.cshtml是一个简单的登录页面 my startup.cs文件中的路由配置如下:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "login",
template: "login",
defaults: new { controller = "Home", action = "Login" });
routes.MapRoute(
name: "spa-fallback",
template: "{*url}",
defaults: new { controller = "Home", action = "Index" });
});
在我的AppComponent中,我有(使用角度RC1):
在中刷新页面将使我保持在仪表板视图上,而将我重定向到登录页面,使我脱离应用程序)
希望这有帮助是的,这里也介绍了这一方法:
@Routes([
{ path: '/Dashboard', component: Dashboard}
])