关于{controller}/{action}
- 必不可少:在一个实际的MVC系统中,{controller}/{action}必不可少,如果缺少就会出现找不到路径而出错
- 约定规则:这个占位符是MVC里面约定的,而且会被解析成控制器和对应的方法
- 位置灵活:这两个约定的占位符可以在任意位置
其他占位符
- 仅仅是占位符:比如:{aa}/{bb}/{cc},这里面的aa不能被解析成控制器,bb也不能被解析为动作方法
- 默认要求:一个路由中,如果没有规定{controller}/{action},或者只是规定了其中之一,则没有规定的部分将使用默认值
匹配顺序
- 优先使用:多个路由匹配一个URL,则有限匹配的会被使用
- 尽量避免:定义多个路由是,尽量避免出现多匹配
路由数据
存储方法
- 在ASP.NET MVC路由系统中,RouteData对象用来保存URL模式和实际的URL匹配产生的路由数据
- 路由数据保存方式为:“键值对”,RouteData是视图基类和控制器基类的属性
路由和控制器的映射
{controller}和{action}在程序运行中的映射
{controller}=Home
{action}=Index
“约定大于配置”在ASP.NET MVC中非常重要