一、路由规则

  1、可以创建多条路由规则,每条路由的name属性不相同

  2、路由规则有优先级,最上面的路由规则优先级越高

App_Start文件下的:RouteConfig.cs

         public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute(
name: "Default2",
url: "{controller}-{action}",
defaults: new { controller = "HomeDemo", action = "Index" }
); routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "HomeDemo", action = "Index", id = UrlParameter.Optional }
);
}
}

二、路由调试工具

  当为我们的应用程序注册多个路由后,由于注册不当,得不到预期的结果。为什么会发生这种情况,请求具体走了哪个路由?这个时候主人公RegisterRoutes上场了。

第一步:先下载dll类库,没有的请到我百度云盘下载

链接:https://pan.baidu.com/s/1jJ1W88cOuTrdooLySnGVSg
提取码:097u
第二步:引入包:RouteDebug

第三步:到Global.asax中重写测试路径

     public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles); RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes); //重写测试路径
}
}

第四步:运行网站,进行分析路由规则

搞定!~~

三、路由的约束

     public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute(
name: "Default2",
url: "{controller}-{action}",
defaults: new { controller = "HomeDemo", action = "Index" },
constraints:new {Controller=@"^\d+$" }, //控制器约束
namespaces:new string[] { "MVCDemo2.Controllers" } //命名空间约束
); routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "HomeDemo", action = "Index", id = UrlParameter.Optional }
);
}
}

最新文章

  1. 强有力的Linux历史命令 你还记得几个
  2. github-windows本地安装
  3. php 截取中文字符串 - ord()函数 0xa0...
  4. 程序测试用的IE浏览器第二次无法加载入口程序的问题及其解决方法
  5. -bash: /bin/rm: Argument list too long的解决办法
  6. Jade之Mixins
  7. 推荐几款web站点JS(JQeury)图表(饼图,柱图,线图)
  8. java反射知识
  9. new、delete用法(一)
  10. SQL使用记录
  11. python测试框架--nose
  12. Android ADT Bundle(Eclipse with ADT) ADT R23
  13. REST API设计规范
  14. 图的基本算法(BFS和DFS)(转载)
  15. Historical节点
  16. JavaScript代理模式
  17. Kubenetes 核心概念理解
  18. ulimit -n 修改
  19. imx6 gpio分析
  20. HDU 1695 GCD(容斥定理)

热门文章

  1. python强大的绘图模块matplotlib示例讲解
  2. PHP实现微信提现功能
  3. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU量产神器RT-Flash常见问题
  4. 关于 Sublime Text 3 中 input 无法输入的问题
  5. Wpf Dispatcher.BeginInvoke((Action)delegate{}));
  6. Web前端基础(18):jQuery基础(五)
  7. Mybatis专题
  8. 松软科技带你学开发:SQL--FIRST() 函数
  9. JS基础语法---函数的其他定义方式
  10. 解决element-ui的表格设置固定栏后,边框线消失的bug