MVC的路由规则配置方式比较多,咱们用得最多的是两种:
A、全局规则。就是我们熟悉的”{controller}/{action}“。
app.MapControllerRoute( name: "bug", pattern: "{controller}/{action}" ); app.MapControllerRoute( name: "八阿哥", pattern: "app/{action}", defaults: new { controller = "Home" } );
其中,controller、action、area、page 这些字段名用于专属匹配。比如 controller 匹配控制器名称等。这个老周不必多说了,大伙伴们都知道。大括号({ })括起来的字段是全局路由。这些路由可以用于当前应用中所有未指定特性化路由的控制器。上面代码中第二条路由,由于URL模板缺少了 controller 字段,所以 defaults 参数要设定它调用的控制器是 Home。
B、特性化路由(局部路由)。此规则通过 [Route]、[HttpGet]、[HttpPost] 等特性类,在控制器类或方法上配置的路由规则。