AngularJS Route Provider не работает в приложении MVC - PullRequest
0 голосов
/ 06 октября 2019

Я пытаюсь преобразовать маршрутизацию MVC в угловую маршрутизацию для одного из контроллеров MVC с помощью routeProvider. Независимо от того, какая комбинация #, #! или / я использую, я не получаю маршрутизацию на работу.

У меня есть общий HTML-файл, где я пытаюсь загрузить представления в директиве ngview. Ниже мой MainView.html. Он находится в папке Views / Addresses в проекте MVC. Как видно в routeprovider, когда '/' я пытаюсь загрузить Addresses / Index.html. Чтобы избежать конфликта с маршрутизацией MVC, я создал отдельную папку и создал копию Index.html. Однако, когда я нажимаю на ссылку, где загружен MainView, Index.html не загружается. Я попытался изменить базовый href на root ('/'), а также на основной html-файл, куда я пытаюсь загрузить все другие представления. Затем, когда я вручную набираю MainView #! / В URL, он все еще не загружает индекс.html. Однако, когда я добавил Otherwise в routeprovider, который перенаправляет на '/', это правильно загружает требуемую страницу.

@{
    ViewBag.Title = "View";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<div ng-app="app">
     <div ng-view>
    </div>
</div>

@section Scripts{

    <script>
       var app=angular.module('app',['ngRoute']);

       app.config(function ($routeProvider,$locationProvider) {
           $locationProvider.html5Mode(true);
           $routeProvider
           .when("/", {
               templateUrl: "Experimental/Addresses/Index.html",
               controller: "AddressList"
           }).when("/Addresses/Index", {
               templateUrl: "Experimental/Addresses/Index.html",
               controller: "AddressList"
           })

           .when("/Addresses/Edit/:id", {
               templateUrl: "Experimental/Addresses/Edit.html",
               controller: "EditAddress"
           })
          .otherwise({
              redirectTo:"/"
          });
        });
       app.controller('AddressList', ['$scope', '$http', function ($scope, $http) {

           $scope.model = [];
           $http.get('/Addresses/GetAddresses').then(function (response) {
               if (response != null || response != "undefined") {
                   $scope.model = response.data;
               }
           });
     }]);
</script>


}
...