我在控制器中有两个动作,但参数没有传递给其中一个。
这一个:/ 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。这些名字应该匹配,但我无法理解。
答案 0 :(得分:3)
尝试使用相应路线中的列表和详细信息替换{controller}
。但对于您的方案,您在创建MVC应用程序时获得的默认路由应该有效。