操作参数显示在查询字符串而不是URL中

问题描述

| 我正在这样做:
@Url.Action(\"Details\",\"MyController\",new { id = this.Model.ID })
URL如下所示:/ MyController / Details?id = 1 如何获取格式如下的URL:/ MyController / Details / 1 路线如下所示:
routes.MapRoute(\"Default\",\"{Controller}/{Action}\",new { Controller = \"Home\",Action = \"Index\" });
routes.MapRoute(\"Default-ID\",\"{Controller}/{Action}/{ID}\");
    

解决方法

        路由的顺序很重要-两个URL均有效,在这种情况下,系统在查找与该操作匹配的URL时首先进入查询字符串。 {ID}也可能存在区分大小写的问题-不确定是否存在该问题,但通常最好始终使用大小写。