MVC 2路由控制器索引页面中的问题

时间:2014-12-29 07:30:18

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

我创建了一个名为顾问的新控制器。然后我创建了动作方法Index()..

我提供了路线,如下所示,

routes.MapRouteLowercase(
            "consultants",
            "consultants/index",
            new { controller = "Consultants", action = "Index" }
            );

在视图中, ActionLink 方法是,

<%: Html.ActionLink("Consultant Home", "Index", "Consultants", null, new { title = "Back home" })%>

但它不是路由。它显示Resource cannot be find

请纠正我的问题......

1 个答案:

答案 0 :(得分:0)

您似乎已经创建了一个名为RouteCollectionExtensions的自定义MapRouteLowercase(或者至少我不熟悉它)。我通过改变您的路线来测试它以确保它按预期工作:

routes.MapRoute(
    "consultants",
    "consultants/index",
    new { controller = "Consultants", action = "Index" }
);

否则,您可能有另一个导致问题的路线图,因此请确保路​​线​​配置位于路线的最顶端。在搜索模式时,顺序在路由引擎如何确定正确的URL方面起着重要作用。所以从特定到一般的顺序。

例如,如果您执行此类操作,则会导致当前路线出现问题:

routes.MapRoute(
    "dateRoute",
    "consultants/{date}",
    new { controller = "Consultants", action = "Dates", date = UrlParameter.Optional }
);