1. 默认路由
路由就是URL到函数的映射。
比如:/Home/Index,这个url表示匹配Home控制器下的Index方法。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",//定义了路由器解析规则,被称为URL模式
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
//controller默认是Home控制器,自己可以更改;actiont同样也一样
);
}
2. 编写一条默认路由
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//路由在配置文件中有先后执行顺序,路由的生效规则是从上到下执行的
routes.MapRoute(
name: "MyRoute",//名字不能相同
url: "my/{controller}/{action}/{id}",
defaults: new { controller = "AdvFour", action = "EchartsTest1", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",//名字不能相同
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
3. 特性路由
开启特性路 :RouteTable.Routes.MapMvcAttributeRoutes();
//控制器代码
[Route("RouteDemo/{name}/{age}")]
public ActionResult RouteTest(string name,int age)
{
return Content("特性路由"+name+ +age);
}
//可以直接通过RouteDemo直接访问RouteTest。如果不需要参数可以将斜杠以及后面大括号的内容删除,如果需要多个参数继续在后面加/{参数}