Я пытаюсь использовать ASP.NET MVC (не ядро) с AngularJS 2 и некоторые проблемы с маршрутизацией.Угловая 2 - Маршрутизация с ASP.NET MVC
Первого в RouteConfig.cs я следующий маршруты определен
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
// when the user types in a link handled by client side routing to the address bar
// or refreshes the page, that triggers the server routing. The server should pass
// that onto the client, so Angular can handle the route
routes.MapRoute(
name: "spa-fallback",
url: "{*url}",
defaults: new { controller = "Home", action = "Index" }
);
В моем app.route.ts (угловые маршруты), я только что определил несколько маршрутов. Мой маршрут по умолчанию перенаправляет на другой маршрут, как
export const router: Routes = [{
path: '',
redirectTo: 'auctions/e231',
pathMatch: 'full'
},
{
path: 'auctions/:id',
component: AuctionComponent,
children: []
}
];
При запуске приложения, мой маршрут сервер/Home/Index подается вверх штрафом, который загружает угловое приложение и маршрут по умолчанию в моем app.route.ts перенаправляет меня для аукционов/E231 и окончательный URL моего браузера становится
http://localhost:53796/auctions/e231
Все работает, как ожидалось, но когда я обновить страницу с этим URL, я получаю ошибку сервера для ресурса не найден, который также ожидается, потому что он ищет Контроллер называется Аукционы, который отсутствует в MVC. Я хочу знать, почему мой спа-спай-маршрут в RouteConfig.cs не поднимается? Также есть лучший способ обработать этот сценарий в asp.net mvc, потому что я хочу использовать некоторые из своих действий контроллера MVC, такие как/Account/Login и другие.
Почему вы не используете один маршрут со стороны сервера, а другой с клиентской стороны? Я имею в виду, пусть бритва загружает домашний вид, а из html и js позволяет работать угловой маршрутизатор? –
Это не очень хорошая идея, используя asp.net MVC (как пользовательский интерфейс) с угловым2. –
@ HassanFalahi Да, но в то время требовалось использовать сервер Identity и использовать встроенные шаблоны для управления пользователями –