Asp.net mvc 带*参数的MVC路由仅与一个参数不匹配
我正在尝试使用一个包含可变数量参数的路由。控制员不太关心这些争论,所以我很高兴能得到很多 以下路线在几乎所有情况下都有效:Asp.net mvc 带*参数的MVC路由仅与一个参数不匹配,asp.net-mvc,routes,Asp.net Mvc,Routes,我正在尝试使用一个包含可变数量参数的路由。控制员不太关心这些争论,所以我很高兴能得到很多 以下路线在几乎所有情况下都有效: routes.MapRoute( name: "Pdf", url: "Pdf/{reportName}/{*parameters}", defaults: new { controller = "Pdf", action = "Index" }, namespa
routes.MapRoute(
name: "Pdf",
url: "Pdf/{reportName}/{*parameters}",
defaults: new { controller = "Pdf", action = "Index" },
namespaces: new string[1] { "Chd.Dms.Guides.Controllers" }
);
因此,当我调用以下任意URL时,我会点击我的控制器:
http://example/Pdf/SampleReport/Hello/World
http://example/Pdf/SampleReport/Hello/World/And/Universe
问题是,当它的参数数最少时,只有一个额外的参数,它似乎与以下路径不匹配:
http://example/Pdf/SampleReport/Hello/
为什么它不能捕获此URL?对于遇到此问题的其他人,路由本身是绝对正确的-但是您必须确保没有其他与此之前声明的路由匹配的路由
如果有其他可能的匹配路线,您需要对它们进行重新排序,或者使它们更加具体,以便两者不匹配。在此之前是否定义了其他路线?如果您之前有默认的,它将与之匹配。啊哈-完全正确。对首先设置其他路由的方法进行了调用。谢谢,没问题。没有看到你的评论编辑在那里,仍然试图找出它。。。