Asp.net mvc 为参数设置mvc路由

Asp.net mvc 为参数设置mvc路由,asp.net-mvc,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc Routing,我被要求设置路由,以便下一个路由工作 https://<server>/<weapp>/<paramater> https://// 我已经有了默认的控制器和操作,这条路线按预期工作 https://<server>/<weapp>/?param1=<paramater> https:////?param1= 但是我的客户希望我去掉?param1=,并且只在url的末尾设置参数,它就可以正常工作 我看过这项工作,但我

我被要求设置路由,以便下一个路由工作

https://<server>/<weapp>/<paramater>
https:////
我已经有了默认的控制器和操作,这条路线按预期工作

https://<server>/<weapp>/?param1=<paramater>
https:////?param1=
但是我的客户希望我去掉
?param1=
,并且只在url的末尾设置参数,它就可以正常工作


我看过这项工作,但我就是找不到如何配置,也找不到为什么要搜索哪些关键字。我的google fu在这一点上很弱

因此,在对更模糊的google fu发现进行了更多的研究之后,我终于找到了我的答案

我确实已经设置了一条路线,在我看来,它应该满足我客户的需求

routes.MapRoute(
                name: "Shortener",
                url: "{id}",
                defaults: new { controller = "<controller>", action = "<action>", id = UrlParameter.Optional }//new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
routes.MapRoute(
名称:“短款”,
url:“{id}”,
默认值:new{controller=”“,action=“提供了一些新的信息,我以前读到的关于这个问题的文章从未提到过,甚至MSDN也没有

在设计路线时要记住的一件事是顺序 其中路由被添加到表中很重要。路由引擎 将采用与提供的URL匹配的第一个路由,并尝试 使用该路由中的路由值。因此,不太常见或更多 应首先将专用路由添加到表中,而更多 一般路线应在以后添加

因此,在所有其他路由配置的顶部设置我的路由配置后,url

https://<server>/<weapp>/<paramater>
https:////
工作得很有魅力


希望这对其他人有帮助!

昨天已经查看了搜索的前5个答案,没有一个解决了我的问题。你昨天接受的答案已经回答了这个问题。事实上,我的错,那一个是webapi,这一个是mvc,虽然两者都使用路由基础,但可能存在差异,我已经找到了我的sol注意,在潜行于一些更晦涩的google fu findingsGlad之后,您找到了问题的解决方案。祝您编码愉快。