带有*参数的MVC路由不匹配只有一个参数

时间:2014-02-13 11:00:58

标签: asp.net-mvc routes

我正在尝试使用包含可变数量参数的路由。控制器并不关心这些论点,所以我很高兴能得到很多。

以下路线几乎适用于所有情况:

        routes.MapRoute(
            name: "Pdf",
            url: "Pdf/{reportName}/{*parameters}",
            defaults: new { controller = "Pdf", action = "Index" },
            namespaces: new string[1] { "Chd.Dms.Guides.Controllers" }
        );

因此,当我拨打以下任何网址时,我会点击我的控制器:

http://example/Pdf/SampleReport/Hello/World

http://example/Pdf/SampleReport/Hello/World/And/Universe

问题是它的参数数量最少(只有一个参数),它似乎与这条路线不匹配:

http://example/Pdf/SampleReport/Hello/

为什么不能抓住这个网址?

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的其他人来说,路线本身是绝对正确的 - 但您必须确保在此之前没有其他匹配的路线。

如果还有其他可能匹配的路线,您需要对它们进行重新排序 - 或者让它们更具体,这样它们就不会匹配。

相关问题