ASP.NET MVC的Global.asax文件中的Application_Start()方法里面的RegisterRoutes(RouteTable.Routes)是用来注册路由的。
默认的方法如下:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
我们可以自己添加自定义的路由规则,如下:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
#region 我的路由
routes.MapRoute(
name: "NotFound", // Route name
url: "notfound", // URL with parameters
defaults: new { controller = "Home", action = "NotFound", id = "" } // Parameter defaults
);
routes.MapRoute(
name: "Error",
url: "error",
defaults: new { controller = "Home", action = "Error", id = "" }
);
#endregion
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}用以上路由设置,若在网址后面输入了/notfound,则会访问Homl控制器中的NotFound的Action 。
Error也是同理。
本文探讨了ASP.NET MVC中Global.asax文件的Application_Start()方法内的RegisterRoutes(RouteTable.Routes)过程,该过程用于设置应用程序的路由规则。通过这个方法,可以定义URL到控制器和操作的映射,包括错误处理路由。

被折叠的 条评论
为什么被折叠?



