Asp.net 这将转到哪个控制器/操作?
假设这是第一条路线入口:Asp.net 这将转到哪个控制器/操作?,asp.net,asp.net-mvc,asp.net-mvc-2,Asp.net,Asp.net Mvc,Asp.net Mvc 2,假设这是第一条路线入口: routes.MapRoute( "myRoute", "employees/{city}/{pageNumber}", new { controller="Employees", action = "List", pageNumber = 1 } ); 如果我提出以下要求 employees/london/2 它与以下操作方法匹配: public ActionResult List(string city) {} 那是怎么发生的?我没有在对象默认值中
routes.MapRoute(
"myRoute",
"employees/{city}/{pageNumber}",
new { controller="Employees", action = "List", pageNumber = 1 }
);
如果我提出以下要求
employees/london/2
它与以下操作方法匹配:
public ActionResult List(string city) {}
那是怎么发生的?我没有在对象默认值中指定“城市”:
new { controller="Employees", action = "List", pageNumber = 1 }
请解释一下。谢谢 RoutedData的唯一限制是它应该包含控制器和操作。其他值可以在没有默认值的情况下正常工作。 比如说
new { controller="Employees", action = "List", pageNumber = 1 }
employees/london/2 -> Employees.List city=london pageNumber=2
employees/london/ -> Employees.List city=london pageNumber=1 (becouse of defauld)
employees ->this route will not be used, MVC will go find other routs
但是如果你愿意
new { controller="Employees", action = "List", city="london" pageNumber = 1 }
employees/london/2 -> same
employees/london/ -> same
employees ->Employees.List city=london(becouse of defauld) pageNumber=1 (becouse of defauld)
正如您在案例中所看到的,路由工作与预期一样。此操作还有哪些其他重载?列表没有重载。