Моя проблема в том, что, когда я не нахожусь в моей области "Администратор", ссылка отображается как " / blog ", однако, когда я нахожусь в моей области "Администратор", ссылка превращается в " / админ / блог ».
У меня есть область «Администратор», и я указал страницу макета в файле Viewstart в разделе «Область» «Администратор». Разметка ниже:
Layout = "~/Views/Shared/_Layout.cshtml";
Разметка моей ссылки выглядит следующим образом (эта ссылка находится в моем _Layout.cshtml представлении):
<a asp-controller="Blog" asp-action="Index" class="nav-link"> Blog </a>
Мои маршруты выглядят так:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
});
И мой контроллер в моей области «Админ» выглядит так:
[Authorize(Roles = "Admin")]
[Area("Admin")]
public class ProductsController : Controller
Я попытался добавить asp-area = "", чтобы мой тег выглядел так:
<a asp-area="" asp-controller="Blog" asp-action="Index" class="nav-link"> Blog </a>
Но это просто оставляет пустую ссылку, если смотреть на нее через инструменты разработчика.
Итак, мой вопрос: как я могу удалить название области из URL?
Я чувствую, что это что-то действительно легкое, но я не могу понять это. Я посмотрел на этот поток, но он не в ядре .net, поэтому решение не работает.