【发布时间】:2015-10-20 12:11:32
【问题描述】:
我有一个 MVC Razor 应用程序,我刚刚使用 AngularJS 和 Angular UI Router 将它转换为单页应用程序。
我有一个问题,当我转到一个 URL(通过刷新)时,例如 /settings/options MVC 尝试在 Settings 控制器上查找 Options() 方法。一旦页面完成加载,Angular 路由就会接管并显示正确的页面。
因为我的布局页面必须有一个 RenderBody() 调用(否则会引发异常),我最终的页面看起来正确但底部有一个 404 页面。 404 被渲染为RenderBody,因为它在Settings 控制器上找不到Options() 方法
我该如何解决这个问题?我假设使用某种 MVC 路由,但不知道从哪里开始。这是我目前的路线
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
}
This question 有类似的问题,除了他们使用 WebAPI 并且我的端点位于普通控制器中。如果我在这里使用该解决方案,我的所有 AJAX 请求也会被重定向
【问题讨论】:
标签: angularjs razor asp.net-mvc-5 angular-ui-router