Asp.net mvc 在asp.net mvc2中传递参数时出现问题

Asp.net mvc 在asp.net mvc2中传递参数时出现问题,asp.net-mvc,parameters,controllers,Asp.net Mvc,Parameters,Controllers,我有以下控制器: PublicActionResult搜索(字符串名称、int?朋友、int?页面) 如果我使用此url localhost/users/search/name,它会起作用,但这些url不是localhost/users/search/name/1和localhost/users/search/name/1/1,您必须定义其他路由: routes.MapRoute( "UsersSearch",

我有以下控制器:

PublicActionResult搜索(字符串名称、int?朋友、int?页面)


如果我使用此url localhost/users/search/name,它会起作用,但这些url不是localhost/users/search/name/1和localhost/users/search/name/1/1,您必须定义其他路由:

routes.MapRoute(
                "UsersSearch",                                              // Route name
                "users/search/{name}/{friend}/{page}",                           // URL with parameters
                new { controller = "Users", action = "Search" }  // Parameter defaults
            );


routes.MapRoute(
                "UsersSearch",                                              // Route name
                "users/search/{name}/{friend}",                           // URL with parameters
                new { controller = "Users", action = "Search" }  // Parameter defaults
            );

您必须定义其他路线:

routes.MapRoute(
                "UsersSearch",                                              // Route name
                "users/search/{name}/{friend}/{page}",                           // URL with parameters
                new { controller = "Users", action = "Search" }  // Parameter defaults
            );


routes.MapRoute(
                "UsersSearch",                                              // Route name
                "users/search/{name}/{friend}",                           // URL with parameters
                new { controller = "Users", action = "Search" }  // Parameter defaults
            );

有什么不起作用?您没有获得正确的参数值,或者从未调用该方法?无论哪种方式,如果您展示如何映射您的路由,都会有所帮助。我没有设置自定义路由,当我添加其他参数时,会出现404错误。有什么不起作用?您没有获得正确的参数值,或者从未调用该方法?无论哪种方式,如果您展示如何映射路由,都会有所帮助。我没有设置自定义路由,当我添加其他参数时,会出现404错误。因此,默认情况下,它接受一个参数,如果您需要其他参数,则必须对其进行专门映射。因此,默认情况下,它接受一个参数,如果你想要额外的参数,你必须特别地映射它们?