Сначала ваш SlugifyParameterTransformer
класс должен быть следующим:
public class SlugifyParameterTransformer : IOutboundParameterTransformer
{
public string TransformOutbound(object value)
{
// Slugify value
return value == null ? null : Regex.Replace(value.ToString(), "([a-z])([A-Z])", "$1-$2").ToLower();
}
}
Затем в Startup.ConfigureServices
следующим образом:
services.AddRouting(option =>
{
option.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer);
option.LowercaseUrls = true;
});
Тогда ваша конфигурация маршрута в Startup.Configure
должна выглядеть следующим образом:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller:slugify}/{action:slugify}/{id?}",
defaults: new { controller = "Home", action = "Index" });
});
Приведенные выше настройки сделают /Employee/EmployeeDetails/1
маршрут до /employee/employee-details/1