在利用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
);
其 含义是:
1.所谓的路由是URL到控制器类(Controller)的某个方法(Action)的映射
2.Action的要求必须是Public
3.MapRoute 的第一个参数的意思是定义一条默认的路由规则,当然可以定义很多规则。其名字为“Default”
4.第二个参数就定义了什么样的URL格式才能 被解析,其格式为http://www.websitename.com/控制器的类名/方法名/可选的参数 ,注意其命名规则,一般控制器的名字为AAAController,那么访问的时候控制器名为AAA而不是完整的AAAController
5. 第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。