在ASP.NET MVC中映射自定义路由

时间:2011-08-19 17:01:41

标签: asp.net-mvc-3 routing

我在Global.ascx中有这样的路由映射:

routes.MapRoute(
               "Help", // Route name
               "Help", // URL with parameters
               new { controller = "Home", action = "Help", id = UrlParameter.Optional } // Parameter defaults
            );

因此,当用户输入http://mysite.com/Help时,他会收到来自Home.Help行动的回复。

但是,如果我尝试使用参数id=something http://mysite.com/Help/something调用该路线 我收到错误The resource cannot be found.

我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:5)

您需要在路线的网址格式中使用{id}路由值令牌。

routes.MapRoute(
    "Help", // Route name
    "Help/{id}", // URL with parameters
    new { controller = "Home", action = "Help", id = UrlParameter.Optional } // Parameter defaults
);