Угловая маршрутизация MVC с пользовательским контроллером

0

У меня есть приложение Angular MVC, в котором есть несколько контроллеров. Default и другой пользовательский контроллер, который я добавил.

http://example.com/home/

http://example.com/ManageSummaryInfo/

Вся моя бизнес-логика заключается в управлении ManageSummaryInfo.

 routes.MapRoute(                        
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "ManageSummaryInfo", action = "HomePage", id = UrlParameter.Optional }
            );

В Angular Routing у меня есть это так,

$routeProvider.when('/showsummary',
                        {
                            templateUrl: 'ManageSummaryInfo/ShowSummary',
                            controller: 'ShowSummaryController'
                        });
    $routeProvider.when('/showerror',
                        {                            
                            templateUrl: 'ManageSummaryInfo/ShowError',
                            controller: 'ShowErrorController'
                        });   
    $routeProvider.when('/showplatform',
                        {
                            templateUrl: 'ManageSummaryInfo/ShowPlatform',
                            controller: 'ShowPlatformController'
                        });

Мои представления также настраиваются вокруг ManageSummaryInfo Controller, но когда я запускаю, я попадаю на домашнюю страницу, после чего я нажимаю на один из элементов, чтобы перевести меня на следующую страницу. Но, я не получаю маршрутизацию, и у меня есть 404 - The resource cannot be found. ошибка.

Вот как выглядят мои взгляды,

Views
--ManageSummaryInfo
----HomePage.cshtml
----Index.cshtml
----ShowSummary.cshtml
----ShowError.cshtml
----ShowPlatform.cshtml

Мой вопрос, когда у нас есть контроллеры на нашем маршруте (т. Е. Http://example.com/ManageSummaryInfo / - как будут угловые маршруты и почему мой файл не найден.

Я новичок в С# MVC Framework. Мне не хватает чего-то, связанного с маршрутизацией ASP.NEt? Любая помощь будет оценена по достоинству. Я пытался быть сверстником, но если вам понадобится дополнительная информация, я рад предоставить больше кода (Pastebin или что-то еще.

Заранее спасибо!

Редактировать:

Добавление класса контроллера в соответствии с запросом,

public class ManageSummaryInfoController : Controller
    {
        // GET: ManageSummaryInfo
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult HomePage()
        {
            return View();
        }

        public ActionResult ShowPlatform()
        {
            return PartialView("ShowPlatform");
        }

        public ActionResult ShowSummary()
        {
            return PartialView("ShowSummary");
        }

        public ActionResult ShowError()
        {
            return PartialView("ShowError");
        }
    }
  • 0
    Как выглядит ваш menageSummaryInfoController?
Теги:
asp.net-mvc
asp.net-mvc-4
asp.net-mvc-routing
angularjs-routing

1 ответ

0

1) В представлении (html-код) по ссылке (элементу) с href showsummary (и другим) добавьте '#' перед 'showsummary'.

2) Убедитесь, что у вас есть

<script src=https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular-route.min.js></script>

3) Проверьте, что у вас есть зависимость от ng-route:

angular.module('myModule', ['ngRoute']);

Угловая маршрутизация работает только с html файлом (не на chtml), поэтому вместо этого создайте html файл.

var adminApp = angular.module('adminApp', ['ngRoute']);

adminApp.config(['$routeProvider',
  function ($routeProvider) {
      $routeProvider.
        when('/ar', {
            templateUrl: 'auto_responder.html',
            controller: 'arCtrl'
        }).
        when('/broadcast', {
            templateUrl: 'broadcast.html',
            controller: 'broadcastCtrl'
        }).
        otherwise({

            redirectTo: '/ar'
        });
  }]); 
  • 0
    Я добавил ссылки, сэр. Фактически, когда я попадаю на страницу напрямую, http://example.com/ManageSummaryInfo/HomePage и оттуда, щелкая мой объект DOM с настроенным href, я http://example.com/ManageSummaryInfo/showsummary страницу http://example.com/ManageSummaryInfo/showsummary . Как мне сделать это независимым от контроллера, например, нажать на мой http://example.com/HomePage и при этом выполнить действие для моего ManageSummaryInfoController ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню