Im работает над новым приложением ASP.NET MVC и AngularJS, которое предназначено для сбора SPA. Im использует концепцию областей MVC для разделения каждого отдельного SPA, а затем Im, используя AngularJS в пределах каждой области MVC, чтобы создать SPA.
Так как Im new для AngularJS и havent смог найти ответ о объединении маршрутизации MVC и AngularJS, я думал, что Id поставил мой вопрос здесь, чтобы узнать, смогу ли я помочь.
У меня есть стандартная настройка маршрутизации MVC, которая обслуживает каждую область MVC.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.AppendTrailingSlash = true;
}
Это отлично работает и дает мне URL-адреса, например:
http://servername/Application1/
http://servername/Application2/
Теперь, в пределах каждой области приложения, я пытаюсь использовать маршрутизацию AngularJS, также используя $locationProvider.html5Mode (true); так что я получаю маршрутизацию на стороне клиента в каждой области, например:
http://servername/Application1/view1
http://servername/Application1/view2
http://servername/Application2/view1/view1a
http://servername/Application2/view2/view2a
http://servername/Application2/view3
Вот мой фрагмент маршрутизации AngularJS для Application1:
app1.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
var viewBase = '/Areas/Application1/app/views/';
$routeProvider
.when('/Application1/view1', {
controller: 'View1Controller',
templateUrl: viewBase + 'view1.html'
})
.when('/Application2/view2', {
controller: 'View2Controller',
templateUrl: viewBase + 'view2.html'
})
.otherwise({ redirectTo: '/Application1/view1' });
$locationProvider.html5Mode(true);
}]);
Итак, изначально это работает (по крайней мере, URL-адрес выглядит правильно). Но, когда я начинаю навигацию между областями или видами внутри области, или даже если я обновляюсь, что-то "теряется", и все не работает. URL-адрес по-прежнему выглядит корректно, но свойства arent found и arent загружаются правильно.
Любая помощь/руководство по созданию совместной работы ASP.NET MVC и AngularJS, чтобы дать мне описанный выше сценарий?
Спасибо!!!