【发布时间】:2014-06-18 07:10:15
【问题描述】:
我正在使用 ASP.NET MVC(使用 RouteCollection 类)处理路由。但是我的前端是用 Angular 编写的,在某些地方我想使用 Angular 的 $location 更改 url 并且我希望它支持 HTML5,所以我将这一行添加到我的 module.config 中:
$locationProvider.html5Mode(true);
但从那以后,我的路由似乎已经由 Angular 处理了。
例如,我的 SPA 在 mysite.com/user 上,我想使用 Angular 的 $location 更改 url(例如,当用户单击选项卡 url 更改为 mysite.com/user/tab 而不重新加载)。
但是当用户从该页面导航到任何其他页面(例如 mysite.com/other)时,我希望由 ASP.NET MVC 的路由处理。
现在发生的情况是我的 url 更改为 mysite.com/other 但网站没有导航到该页面,即 MVC 路由无法处理更改。
编辑
我没有在 Angular 中定义任何路由,我的所有路由都是在服务器端定义的,而服务器端路由在我添加 $locationProvider.html5Mode(true); 后才停止工作
【问题讨论】:
标签: javascript asp.net-mvc angularjs asp.net-mvc-5