MVC之RegisterRoutes
在利用Visual Studio生成的MVC Project中的Global.asax文件中有一个RegisterRoutes方法。
routes.MapRoute(
“Default”, // Route name
“{controller}/{action}/{id}“, // URL w/ params
new { controller=”Home”, action=”Index”, id=”“ } // Param defaults
);
其含义是:
- 所谓的路由是URL到控制器类(Controller)的某个方法(Action)的映射
- Action的要求必须是Public
- MapRoute的第一个参数的意思是定义一条默认的路由规则,当然可以定义很多规则。其名字为“Default”
- 第二个参数就定义了什么样的URL格式才能被解析,其格式为http://www.websitename.com/控制器的类名/方法名/可选的参数 ,注意其命名规则,一般控制器的名字为AAAController,那么访问的时候控制器名为AAA而不是完整的AAAController
- 第3个参数定义的是一个默认的值,也就是输入http://www.websitename.com的时候默认会访问哪个控制器以及Action方法。采用的是.net 3.5的匿名类语法。注意这个默认的控制器与Action并不是一起控制的,比如定义的默认控制器为Home,那么访问http://www.websitename.com就会访问Home控制器的index方法,定义的默认控制器为index,那么你访问bbb控制器的时候如http://www.websitename.com/bbb就会访问bbb控制器的index。也就是说最后的这个参数定义的是默认的控制器和Action分别是什么。好像有点啰嗦