Asp.Net MVC 路由引擎 Routing

Asp.Net MVC 路由引擎 允许我们完全定制 ASP.NET MVC 如何选择 controller类,调用哪一个方法,以及从URL/Querystring中自动解析变量值,并作为参数传递给方法。

双击Global.asax文件,可以在项目中的Application 类中看到默认的路由规则注册。

public static void RegisterRoutes(RouteCollection routes)
       {
           routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

           routes.MapRoute(
               "Default", // Route name
               "{controller}/{action}/{id}", // URL with parameters
               new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
           );

       }

这里 routes.MapRoute()  方法注册了一个默认的路由规则,讲URL 转换到指定的 controller类。使用
的 URL格式为:/{controller}/{action} /{id},这里 controller  就是我们建立的Controller 类,action是其中可调用的公
共方法的名称, id是一个可选的参数,用来传递参数给方法。

MapRoute()  方法的第三个参数是一个匿名方法,定义了一组controller/action/id的默认值,

在URL没有指定时, 则默认使用 Controller=Home、  Action=Index、Id=”” 的方式发出请求。

下面的表来自MVC一步一步中文版一书 演示了 URL 地址如何使用默认的/{controller}/{action}/{id} 规则进行映射

  当URL为什么         解析什么样的    Controller         Action           Paramenters

 clip_image002

未完成!

冯瑞涛
原文地址:https://www.cnblogs.com/finehappy/p/1672053.html