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
);

 

其含义是:

 

  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。也就是说最后的这个参数定义的是默认的控制器和Action分别是什么。好像有点啰嗦 

 

posted @ 2009-11-15 11:15  CodeWorker  阅读(1768)  评论(0编辑  收藏  举报