Я пытаюсь реализовать область для администраторов в моем приложении ASP.Net MVC Core 2.1.
Я настроил маршрут для области следующим образом:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
В _Layout.cshtml у меня есть:
<a asp-area="Admin" asp-controller="Admin" asp-action="Index">Admin</a>
В AdminController у меня есть:
[Area("Admin")]
public class AdminController : Controller
{
public IActionResult Index()
{
return View();
}
}
Razor генерирует неправильный URL, не такой как http://localhost:44327/Admin/Admin/Index, а https://localhost:44327/Admin?area=Admin.