Comment utiliser ASP.NET MVC et AngularJS de routage?

Je suis en train de travailler sur un nouveau ASP.NET MVC et AngularJS application qui est destiné à être une collection de SPAs. Je suis en utilisant l'architecture MVC zones concept de séparer chaque individu SPA, et puis je suis en utilisant AngularJS au sein de chaque MVC zone pour créer le SPA.

Depuis que je suis nouveau sur AngularJS et n'ont pas été en mesure de trouver une réponse quant à la combinaison des deux MVC et AngularJS de routage, je pensais que je poste ma question ici pour voir si je pouvais obtenir de l'aide.

J'ai le standard MVC configuration du routing, qui sert chaque MVC zone.

    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;
    }

Cela fonctionne très bien et me donne une Url comme:

http://servername/Application1/
http://servername/Application2/

Maintenant, à l'intérieur de chaque domaine d'application, je suis en train d'utiliser AngularJS routage, également à l'aide de $locationProvider.html5Mode(true); de sorte que je reçois le côté client de routage à l'intérieur de chaque zone, quelque chose comme:

http://servername/Application1/view1
http://servername/Application1/view2
http://servername/Application2/view1/view1a
http://servername/Application2/view2/view2a
http://servername/Application2/view3

Voici mon AngularJS routage extrait 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);
}]);

Donc, d'abord, il semble fonctionner (au moins l'URL semble correct). Mais, quand j'ai commencer à naviguer entre des régions ou des points de vue au sein d'une zone, ou même si j'actualise, quelque chose est “perdu” et les choses ne fonctionnent pas. L'URL a toujours l'air correct mais les points de vue ne sont pas disponibles et ne sont pas chargés correctement.

Toute aide/conseils sur la façon de faire ASP.NET MVC et AngularJS routage travailler ensemble pour me donner le scénario décrit ci-dessus?

Merci!!!

InformationsquelleAutor lmttag | 2014-05-15