You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET Core 3.1中添加通用路由映射?

ASP.NET Core 3.1 MVC 添加自定义路由的简便实现

在ASP.NET Core 3.1 MVC中,你可以直接在Startup.cs的Configure方法里,通过MapControllerRoute添加自定义路由,和你熟悉的旧版MVC的Route.Add逻辑一致,不需要额外的路由文件。

具体实现代码

在原有的默认路由配置前,添加一条新的路由映射即可:

app.UseEndpoints(endpoints =>
{
    // 自定义路由:匹配 {controller}/{action} 格式的请求
    endpoints.MapControllerRoute(
        name: "custom",
        pattern: "{controller}/{action}");

    // 原有的默认路由
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

关键说明

  • 路由匹配顺序:路由是按注册顺序依次匹配的,所以更具体的路由要放在前面。这里{controller}/{action}比默认路由少了可选的id参数,属于更具体的规则,放在默认路由前可以避免被带默认参数的路由优先匹配。
  • 其实你的默认路由本身已经覆盖了{controller}/{action}的场景(因为id?是可选参数),如果只是需要这类请求正常路由,默认路由就足够。但如果需要给这类请求单独命名、添加路由约束,或者有其他特殊逻辑,就需要单独配置这条自定义路由。

内容的提问来源于stack exchange,提问作者Booji Boy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:00:57