路线未正确分段

时间:2011-09-17 12:05:23

标签: asp.net-mvc asp.net-mvc-routing

我在视图中定义了一个链接:

@Html.ActionLink("Baxter", "Label", new { LabelName = "Baxter" })

我定义了一条抓住这个链接的路线:

        routes.MapRoute(
        "Search Affaire Only Label", // Route name
        "{controller}/Label/{LabelName}", // URL with parameters
        new { controller = "Affaire", action = "SearchAffaires", LabelName = UrlParameter.Optional } // Parameter defaults
        );

链接有效,但地址栏中的网址未正确分割,如下所示:

http://localhost:3817/Affaire/Label?LabelName=Baxter

我认为网址格式如下:

http://localhost:3817/Affaire/Label/Baxter

怎么了?有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

在你的锚中,你传递Label作为动作名称(ActionLink助手的第二个参数),而在你的路线定义中你定义了SearchAffaires动作。所以要么通过包括控制器来修复你的锚:

@Html.ActionLink("Baxter", "SearchAffaires", new { LabelName = "Baxter" })

或更明确地给出控制器名称以避免任何歧义:

@Html.ActionLink("Baxter", "SearchAffaires", "Affaire", new { LabelName = "Baxter" }, null)

或修改您的路线定义,以便在Label控制器上使用Affaire操作。