Я создаю веб-сайт с использованием ASP.Net MVC и .Net Core 2.
Когда пользователь входит на мой сайт, они перенаправляются на URL https://localhost/Games/Home
Это не то, что яwant.
Я ожидаю, что они будут перенаправлены на URL https://localhost/
При отладке приложения я обнаружил, что метод, который выполняет перенаправление, находится в классе AccountController, созданном Visual Studio.:
RedirectToAction(nameof(HomeController.Index), "Home");
Мои маршруты выглядят так:
routes.MapRoute(
name: "games",
template: "Games/{controller}/{*tags}",
defaults: new { area = "Games", action = "Index" });
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
Я не понимаю, почему метод RedirectToAction генерирует URL-адрес, который включает в себя литерал «Игры» из моего шаблона маршрута.У меня есть область с именем Games, но я ожидаю, что вызов RedirectToAction не будет ей соответствовать.
Хотя я уже нашел исправление.Но я все еще хотел бы понять.
Исправление заменяет первый маршрут на:
routes.MapRoute(
name: "games",
template: "{area}/{controller}/{*tags}",
defaults: new {action = "Index" });