public static void RegisterRoutes(RouteCollection routes) { MvcRouteConfigurationSection section = (MvcRouteConfigurationSection)ConfigurationManager.GetSection("RouteConfiguration"); routes.MapRoute(section); }
/// <summary> /// 从XML读取路由配置信息 /// </summary> /// <param name="routes"></param> /// <param name="section"></param> public static void MapRoute(this RouteCollection routes, MvcRouteConfigurationSection section) { // Manipulate the Ignore List foreach (IgnoreItem ignoreItem in section.Ignore) { RouteValueDictionary ignoreConstraints = new RouteValueDictionary(); foreach (Constraint constraint in ignoreItem.Constraints) { ignoreConstraints.Add(constraint.Name, constraint.Value); } IgnoreRoute(routes, ignoreItem.Url, ignoreConstraints); } // Manipluate the Routing Table foreach (RoutingItem routingItem in section.Map) { RouteValueDictionary defaults = new RouteValueDictionary(); RouteValueDictionary constraints = new RouteValueDictionary(); if (routingItem.Controller != string.Empty) { defaults.Add("controller", routingItem.Controller); } if (routingItem.Action != string.Empty) { defaults.Add("action", routingItem.Action); } foreach (Parameter param in routingItem.Paramaters) { defaults.Add(param.Name, param.Value); if (!string.IsNullOrEmpty(param.Constraint)) { constraints.Add(param.Name, param.Constraint); } } MapRoute(routes, routingItem.Name, routingItem.Url, defaults, constraints); } }
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { culture = "zh", controller = "Home", action = "Index", id = UrlParameter.Optional } ); //配置文化区域Url 模板 routes.MapRoute( name: "culture", url: "{culture}/{controller}/{action}/{id}", defaults: new { culture = "zh", controller = "ThreadCulture", action = "Index", id = UrlParameter.Optional }); ///通过XML 配置Url 模板 MvcRouteConfigurationSection section = (MvcRouteConfigurationSection)ConfigurationManager.GetSection("RouteConfiguration"); routes.MapRoute(section); }