参数未传递给ASP.NET MVC中的Controller操作

时间:2011-03-24 18:55:47

标签: asp.net-mvc routes parameter-passing

我在控制器中有两个动作,但参数没有传递给其中一个。

这一个:/ RouteStop / List / 1

这一个:/ RouteStop / Details / 100

我的global.asax:

routes.MapRoute( "List", "{controller}/{action}/{id}", new { controller = "RouteStop", action = "List", id = UrlParameter.Optional } );

routes.MapRoute( "Details", "{controller}/{action}/{routeID}", new { controller = "RouteStop", action = "Details", routeID = UrlParameter.Optional } );

这是我的控制器的动作:

public ActionResult List(string id) { return View(); }

public ActionResult Details(string routeID) { return View(); }

当我访问此URL(/ RouteStop / Details / 100)时,参数传递得很好。但是当我访问另一个(/ RouteStop / List / 1)时,参数为null。这些名字应该匹配,但我无法理解。

1 个答案:

答案 0 :(得分:3)

尝试使用相应路线中的列表和详细信息替换{controller}。但对于您的方案,您在创建MVC应用程序时获得的默认路由应该有效。