在ASP.NET Core MVC中,我们可以使用自定义路由和操作名称来定义特定的URL路径和操作方法名称。下面是一个包含代码示例的解决方法:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddRazorPages();
services.AddMvc(options =>
{
options.Conventions.Add(new RouteTokenTransformerConvention(new SlugifyParameterTransformer()));
}).SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
}
public class SlugifyParameterTransformer : IOutboundParameterTransformer
{
public string TransformOutbound(object value)
{
if (value == null) return null;
// 将参数转换为Slug格式
return Regex.Replace(value.ToString(), "([a-z])([A-Z])", "$1-$2").ToLower();
}
}
[Route("custom-route")]
public class HomeController : Controller
{
[HttpGet("")]
[ActionName("custom-action")]
public IActionResult Index()
{
return View();
}
}
Custom Action
通过以上步骤,我们可以在ASP.NET Core MVC中使用自定义路由和操作名称来定义特定的URL路径和操作方法名称。