在asp.net mvc中路由的问题

时间:2010-10-06 06:47:24

标签: asp.net asp.net-mvc

我有

 routes.MapRoute("BuildingCompanyProject", "BuildingCompany/{projectId}/BuildingProject", new { controller = "BuildingProject", action = "Index", projectId = "" });

在Global.asax.cs中 并且位于默认路线下方 点击链接时调用上述路径

<a title="Go toCompany" style="background: none!important" href='<%= Url.RouteUrl("BuildingCompanyProject",new {controller="BuildingProject" , action="Index" , projectId=item.Id})%>'>
                beheer bedrijf</a>   

但点击该网址会映射到默认路由。 我应该怎样实现这一点。

2 个答案:

答案 0 :(得分:2)

当默认路线可以解析您的自定义路线时,您应该将自定义路线置于上方。(就像您的情况一样)。


根据您的评论,您说您有另一个网址“/ BuildingProject”应该由默认路由解析。

您应该有3条路线:首先是解决“/ BuildingProject”的路线,然后是您在问题中谈到的自定义路线,最后只有默认路线。

答案 1 :(得分:0)

将自定义路线移到默认路线上方。请记住,您的网址将首先与默认路由匹配