В настоящее время я работаю над проектом. Net Core 3.0, и у меня возникают проблемы с маршрутизацией по умолчанию с использованием UseEndpoints в функции Configure при запуске.
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapAreaControllerRoute(
name: "areas",
areaName: "areas",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});
Я хочу, чтобы маршрутизация по умолчанию была такой же, как MapAreaRoute, но у меня возникли проблемы при этом. В настоящее время маршрутизация работает должным образом, так как я добавил метод RedirectToAction в HomeController за пределами области
public class HomeController : Controller
{
public IActionResult Index()
{
return RedirectToAction("Index", "Home", new { area = "default" });
}
}
Есть ли другой способ сделать это? Я попытался добавить один и тот же шаблон для обоих маршрутов и немного поработал с ним, но ни один из них, похоже, не работает. Для справки у меня есть проект. Net core 2.1 с аналогичной настройкой, и у меня не было проблем с ним
//NOTE, this is from the .Net Core 2.1 project and is using UseMvc and not UseEndpoints
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
routes.MapAreaRoute(
name: "default",
areaName: "Users",
template: "{controller=Home}/{action=Index}/{id?}");
});
TLDR: возникают проблемы с маршрутизацией по умолчанию на контроллер области без использования метода RedirectToAction в контроллере за пределами Района