Asp.net core ASP.NET Core中没有匹配控制器或操作的路由段

Asp.net core ASP.NET Core中没有匹配控制器或操作的路由段,asp.net-core,model-view-controller,router,Asp.net Core,Model View Controller,Router,看看这条路线: {controller}/{currency=USD}/{action=view} 它匹配类型为rates/GBP/edit(以及其他..)的URL费率映射到控制器和编辑映射到查看。那很好。我不明白的是中间段GBP与什么匹配 如果是另一种方式=>{controller}/{action=view}/{currency=USD},GPB将是action方法的一个参数。但在当前语法中,它看起来像控制器的一个参数,没有意义 路由配置示例: app.UseMvc(routes

看看这条路线:

{controller}/{currency=USD}/{action=view}
它匹配类型为
rates/GBP/edit
(以及其他..)的URL<代码>费率映射到
控制器
编辑
映射到
查看
。那很好。我不明白的是中间段
GBP
与什么匹配

如果是另一种方式=>
{controller}/{action=view}/{currency=USD}
,GPB将是action方法的一个参数。但在当前语法中,它看起来像控制器的一个参数,没有意义

路由配置示例:

    app.UseMvc(routes =>{
        routes.MapRoute(
                name:"def",
                template:"{controller}/{currency=USD}/{action=view}"
        );
    });
控制器示例:

public class RatesController : Controller{
   public IActionResult Edit(){
       return View();
   }
}

那么,如果有的话,
货币
匹配到什么代码?也许同样的问题。。如何访问货币段值?

您是否已将该路径添加到启动配置中?仅使用常规方法。添加其他示例您是否已将该路由添加到启动配置中?仅通过使用常规方法。添加了其他示例