using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace WX.CRM.WEB { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "WX.CRM.WEB.BASE", url: "{Base}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( "WX.CRM.WEB.RES", "{Res}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.TEST", "{Test}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.SOFT", "{Soft}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.ORD", "{Ord}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.CSVR", "{CSVR}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.Sms", "{Sms}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.Fxh", "{Fxh}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.Import", "{Import}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.Gjs", "{Gjs}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.Hst", "{Hst}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.Quality", "{Quality}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( "WX.CRM.WEB.Level2", "{Level2}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( name: "WX.CRM.WEB.Qc", url: "{Qc}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.TZGW", url: "{TZGW}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.YTG", url: "{YTG}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.YICH", url: "{YICH}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.Autorpt", url: "{Autorpt}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.DeptRpt", url: "{DeptRpt}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.WeiXin", url: "{WeiXin}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.Weapp", url: "{Weapp}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.QH", url: "{QH}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() } ); routes.MapRoute( name: "WX.CRM.WEB.TS", url: "{TS}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.WeWork", url: "{WeWork}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.Exam", url: "{Exam}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.Ww", url: "{Ww}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "WX.CRM.WEB.Cms", url: "{Cms}/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, constraints: new { customConstraint = new AbandonConstraint() }//自定义限制路由 } ); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } public class AbandonConstraint : IRouteConstraint { public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { if (values.Keys.First().ToLower() != values.Values.First().ToString().ToLower()) return false; string notAllow = "[Home][Control]";//这个控制器必须二级显示 if (notAllow.ToLower().IndexOf(values["controller"].ToString().ToLower()) > -1) return false; return true; } } } }