• MVC传统路由的理解


    RouteConfig.cs

    public static void RegisterRoutes(RouteCollection routes)
            {
                //注释掉系统生成的代码后,自定义路由。
                //routes.MapMvcAttributeRoutes();
    
                //routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                //routes.MapRoute(
                //    name: "Default",
                //    url: "{controller}/{action}/{id}",
                //    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                //);
                //自定义一个传统路由规则
                //routes.MapRoute(
                //     "OrderRoute",//路由名称
                //    "{controller}/{action}/{id}/{name}"//请求的URL
                //    );
                //自定义规则2
                //routes.MapRoute("OrderRotue", "{controller}/{action}/{id}/{name}", new { action = "List" });
    
                //自定义规则3
                routes.MapRoute("DetailRotue", "{id}/{uid}", new { controller = "Order", action = "Detail" }, new { id = @"d{2}", uid = @"d{2}" });//正则表达式自动使用精准匹配,自动增加^ $符号,如果没有的话系统自动增加开始和结束,特性路由使用正则的话不是使用的精准匹配,需要自己的增加。
            }

    其实传统路由跟特性路由功能都差不多,底层都是维护的一个路由字典对象,特性路由更加具体,传统路由更加广泛,可以在程序中使用这两种方式,建议把特性路由模式放在传统路由的前面,当在特性路由中没有查找到匹配路由,那么就会在传统路由中去查找匹配,当匹配到了后不再继续往下匹配。

  • 相关阅读:
    bugku杂项—12-16题
    bugku杂项—1-11题
    symfony3 使用命令行工具生成Entity实体所踩的坑
    symfony2学习笔记——控制器
    symfony学习笔记——路由
    在window环境下安装symfony2框架注意事项
    window环境安装composer
    HTTP,FTP异常码大全【转载】
    关于session和cookie的区别
    关于mysql的查询优化
  • 原文地址:https://www.cnblogs.com/frank888/p/4666046.html
Copyright © 2020-2023  润新知