我在视图中定义了一个链接:
@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
怎么了?有什么想法吗?
感谢。
答案 0 :(得分:1)
在你的锚中,你传递Label
作为动作名称(ActionLink
助手的第二个参数),而在你的路线定义中你定义了SearchAffaires
动作。所以要么通过包括控制器来修复你的锚:
@Html.ActionLink("Baxter", "SearchAffaires", new { LabelName = "Baxter" })
或更明确地给出控制器名称以避免任何歧义:
@Html.ActionLink("Baxter", "SearchAffaires", "Affaire", new { LabelName = "Baxter" }, null)
或修改您的路线定义,以便在Label
控制器上使用Affaire
操作。