Asp.net mvc 3 在ASP.NET MVC中映射自定义路由

Asp.net mvc 3 在ASP.NET MVC中映射自定义路由,asp.net-mvc-3,routing,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 );

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

routes.MapRoute(
               "Help", // Route name
               "Help", // URL with parameters
               new { controller = "Home", action = "Help", id = UrlParameter.Optional } // Parameter defaults
            );
因此,当用户键入时,他将从
Home.Help
action收到响应

但是如果我试图用参数
id=something
我收到一个错误
无法找到资源。


我如何解决这个问题?

在路由的URL模式中需要一个
{id}
路由值标记

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