ASP.NET MVC中的默认索引方法行为

时间:2011-02-04 11:52:15

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

我在UserController中有以下ActionMethod

public ActionResult Index(string id, string name, int? org)

当我导航到> http://example.com/User,调用上述操作方法。多数民众赞成。

然而,当我导航到> http://example.com/User/1,它无法找到资源。它不应该导航到id = 1且其余为null的上述动作方法吗?

Global.asax中的路由:

context.MapRoute(   
    "Default",   
    "/{controller}/{action}/{id}",   
    new { action = "Index", id = UrlParameter.Optional }   
);

2 个答案:

答案 0 :(得分:2)

您必须将这些其他参数添加到路由中,以便填充它们。

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

然后,您可以导航至http://yourdomain/User/Index/1

由于名称和组织是可选的,您也可以在需要时将其传递给

http://yourdomain/User/Index/1/fred

http://yourdomain/User/Index/1/fred/44

答案 1 :(得分:1)