none
ASP NET , ANGULAR_JS - ROUTING SPA RRS feed

  • Question

  • Bonjour à Tous,

    Je développe une application web ASP net couplé avec Angular Js. Ci-dessous mon problème:

    J'ai une page démarrage (page1.cshtml). Dans cette page , j'ai un  lien (Go to page3) pour passer à la page page3.cshtml.

    contrôleur angular de la page1 :

    'use strict';
    var Page1App = angular.module('Page1App', ['ngRoute', 'Page3App'])
    Page1App.controller('Page1Ctrl', function ($scope,$window, $location) {
        $scope.GoPage3 = function () {
            // $location.path('/Page3');
            $window.location.href = 'Main/Page3';
        }
    })
    Page1App.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
        $routeProvider.when('/Page3',
                            {
                                templateUrl: '/Main/Page3',
                                controller: 'Page3Ctrl'
                            });
    }]);

    Controlleur angular de la page3 :

    'use strict';
    var Page3App = angular.module('Page3App', ['ngRoute', 'Page3_1_App'])
    Page3App.controller('Page3Ctrl', function ($scope) {
    })
    Page3App.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
        $routeProvider.otherwise(
                       {
                           redirectTo: '/Page3_1'
                       });
    
        $routeProvider.when('/Page3_1',
                            {
                                templateUrl: 'Main/Page3_1',
                                controller: 'Page3_1_Ctrl'
                            });
        $routeProvider.when('/Page3_2',
                        {
                            templateUrl: 'Main/Page3_2',
                            controller: 'Page3_2_Ctrl'
                        });
    
    }]);


    Controlleur angular du template :

    'use strict';
    var Page3_1_App = angular.module('Page3_1_App', [])
    Page3_1_App.controller('Page3_1_Ctrl', function ($scope) {
    })

    Controlleur ASP de la page3 :

     public class MainController : Controller
        {
            // GET: Main
            public ActionResult Page3()
            {
                return View();
            }
    
            public ActionResult Page3_1() {
                return PartialView();
            }
    
        }

    Ma page3 contient un template page3_1.cshtml à partir du routing angular. Une fois arrivé à la page3 , j'arrive pas à afficher la page template page3_1.cshtml.L'erreur dans le console indique  "Erreur 404 failed to load template.

    Mais si je modifie la page de démarrage dans le RouteConfig.cs de l'ASP avec la page3 et son controlleur. j'obtiens bien le template.

    Voici un lien qui contient le projet  : example project

    détails de l'erreur:


    Est ce que vous savez pourquoi je n'arrive pas a afficher le template?

    merci





    • Modifié thierrylaz vendredi 13 novembre 2015 11:48
    vendredi 13 novembre 2015 11:38

Réponses

  • Tu modifies PageApp3 : 

    $routeProvider.when('/Page3_1',
                            {
                                templateUrl: 'Page3_1',
                                controller: 'Page3_1_Ctrl'
                            });
        $routeProvider.when('/Page3_2',
                        {
                            templateUrl: 'Page3_2',
                            controller: 'Page3_2_Ctrl'
                        });

    Bonne chance !!


    • Modifié iart-i vendredi 13 novembre 2015 12:37
    • Marqué comme réponse thierrylaz vendredi 13 novembre 2015 13:26
    vendredi 13 novembre 2015 12:37

Toutes les réponses