Использование областей в ядре .NET - PullRequest
0 голосов
/ 30 декабря 2018

Я занимаюсь разработкой приложения ASP.NET MVC Core.В этом приложении я использую области.У меня есть несколько областей: администратор (для обслуживания веб-сайта), личность (для страниц идентификаторов) и общедоступная (для посетителей).

Мне нравятся эти области, но мне не нравится тот факт, что мне нужны мои посетителиURL выглядит так: https://localhost:5001/Public/Home и https://localhost:5001/Public/Catalogue, и т. д.

Мне больше нравятся URL-адреса, такие как https://localhost:5001/Home и https://localhost:5000/Catalogue и т. д.

Есть ли возможность, где я могу использовать области, за исключением части посетителя сайта?

1 Ответ

0 голосов
/ 30 декабря 2018

Я не буду рекомендовать избавляться от «имени области» в URL, потому что маршрутизация не будет работать должным образом, если у вас есть похожие имена страниц в разных областях!Например, если у вас есть две области «public» и «private» и обе содержат страницы с похожим названием «Index», скорее всего, вы увидите ошибку, что существует несколько страниц, использующих один и тот же маршрут, и поэтому области существуют.

Возвращаясь к вашей проблеме, если вы используете бритвенные страницы, вы можете добавить шаблон маршрута непосредственно в верхнюю часть бритвенной страницы:

@page "/catalog"

или если у вас есть параметры:

@page "{id}"
@Url.Page("/catalog")

если вы используете MVC, то вы можете использовать атрибут маршрутизации и оставить AreaPrefix пустым:

[RouteArea("Public", AreaPrefix = "")]
[RoutePrefix("catalog")]
public class CatalogsController : Controller

вы можете узнать больше о маршрутизации в документации здесь: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-2.2

...