asp.net mvc中的路由

[Route]  路由

[Route("~/")]  忽略路由前缀

[Route("person/{id:int}")]  路由内联约束

[Route("home/{action=index}")]  定义默认值

[Route("{action}/{id?}")]  可选参数id=UrlParameterOptional

[RouteArea("admin")]  制定区域

[RouteArea("admin",AreaPrefix="admin")]  区域路由前缀

1.任何带有字面值的URL段,每个路由参数值必须匹配。例如:[Route("{Controller}-{action}")]

2.catch-all参数允许路由匹配具有任意个段的URL。例如:routes.MapRoute("name","{controller}/{catchAll}")

3.生成URL时指定路由名称可以避免二义性,提高性能。

4.路由系统在匹配路由时,额外参数会作为查询字符串参数附加到生成的URL之后。

原文地址:https://www.cnblogs.com/kerwincui/p/9592859.html