Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 带*参数的MVC路由仅与一个参数不匹配_Asp.net Mvc_Routes - Fatal编程技术网

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?

对于遇到此问题的其他人,路由本身是绝对正确的-但是您必须确保没有其他与此之前声明的路由匹配的路由


如果有其他可能的匹配路线,您需要对它们进行重新排序,或者使它们更加具体,以便两者不匹配。

在此之前是否定义了其他路线?如果您之前有默认的,它将与之匹配。啊哈-完全正确。对首先设置其他路由的方法进行了调用。谢谢,没问题。没有看到你的评论编辑在那里,仍然试图找出它。。。