0

У меня есть тестовый проект MVC. Я работаю над тем, могу ли я получить угловую маршрутизацию для работы с ним.Угловая маршрутизация с ASP MVC

Что я имею в виду работу с ним в том, что я хочу, чтобы иметь возможность иметь целевую страницу для моего приложения: www.testapp.com

Тогда, когда люди войти Я хочу MVC, чтобы направлять их в testapp.com/Dashboard/#/, а затем я хочу быть в состоянии использовать нг ракурс для загрузки страниц с Angualar как так: testapp.com/Dashboard/#/PageOne, testapp.com/Dashboard/#/PageTwo и т.д.

Вот что я пробовал: main.js:

angular.module('App', ['ngRoute', 'ngResource']); 

angular.module('App').config(function ($routeProvider) { 
    $routeProvider 
    .when('/Dashboard', { 
     templateUrl: 'Dashboard/Index' 
    }) 
    .when('/PageOne', { 
     templateUrl: 'Dashboard/PageOne' 
    }) 
}); 

~/Views/Home/Index.cshtml была моя целевая страница не использовать угловой маршрутизации он только что ActionLinks в Вход и регистрация

~/Views/Панель управления/Index.cshtml где я использовал нг-приложение и нг-представление, и я имел связи, как так : <a href="/#/Dashboard">Dashboard</a>, <a href="/#/PageOne">Page One</a>

проблема заключается в том, что, когда я иду в testapp.com/Dashboard, когда он загружает URL превращается в testapp.com/Dashboard#/, а не testapp.com/Dashboard/#/

другая проблема в том, что, когда я нажимаю на мои ссылки он идет прямо обратно в Home/Index и URL-адрес: testapp.com/#/PageOne, но Home что отображается

в моем RouteConfig.cs файл, он просто по умолчанию:

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

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

Так что мой вопрос, что случилось с моим кодом здесь, что делает его не работает, как я хочу, чтобы это? Что мне нужно добавить/изменить?

Спасибо!

ответ

0

Итак, я понял, что проблема связана с тем, как я писал свои ссылки. Как только мое фактическое угловое приложение было загружено (я был на панели мониторинга, а не на целевой странице, где был инициализирован угловой), мне пришлось изменить привязку привязки herfs от \#\{Route} до '/ Dashboard/#/{Route}'. Вот моя обновленный угловатый маршрут конфигурация:

angular.module('App').config(function ($routeProvider) { 
    $routeProvider 
    .when('/', { 
     templateUrl: 'Index' 
    }) 
    .when('/PageOne', { 
     templateUrl: 'PageOne' 
    }) 
}); 

Это полностью фиксированная моя проблема, так что я теперь могу иметь угловое взятие маршрутизации над шоу, когда это необходимо, а также MVC ActionLinks в моем приложении, а также.

Надеюсь, это поможет кому-то еще!

ПРИМЕЧАНИЕ

Я ничего не изменил в моем MVC RouteConfig.cs вы можете оставить по умолчанию. Также мне пришлось избавиться от ViewStart, потому что это было бесполезно.