SlugParameterTransformer не работает с AddAreaPageRoute () в Asp. Net core 3.1 Страницы Razor - PullRequest
0 голосов
/ 31 марта 2020

Я разрабатываю приложение Asp.Net Core 3.1 Razor Pages. Я пытаюсь реализовать в своем приложении seo friendly маршруты.

После некоторого поиска в Google я нашел Использование преобразователей параметров для изменения значений маршрутов и параметров для достижения этого.

Но это не работает с AddAreaPageRoute(), который я использую для создания дружественного маршрута.

Вот моя структура проекта,

enter image description here

Мой маршрут,

https://localhost/blog/detail/my-first-blog-title

Мой ожидаемый дружественный маршрут,

https://localhost/blog/my-first-blog-title

Но мой настоящий дружественный маршрут,

https://localhost/blog/my first blog title

Обратите внимание, что hypens заменены на spaces.

Вот мой ConfigureServices in Startup.cs

Настройка служб :

services.AddRazorPagesOptions(options => 
{
    options.Conventions.AddAreaPageRoute("Blog", "/detail", "blog/{id}");
    // If I comment the above line I get the expected friendly route
});

services.Configure<RouteOptions>(options =>
{
    options.LowercaseUrls = true;
    options.ConstraintMap.Add("slug", typeof(SlugParameterTransformer));
});

Если я прокомментирую options.Conventions.AddAreaPageRoute("Blog", "/detail", "blog/{id}");, я получу ожидаемый дружественный маршрут. Я что-то пропустил, пожалуйста, помогите.

...