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}" });//正则表达式自动使用精准匹配,自动增加^ $符号,如果没有的话系统自动增加开始和结束,特性路由使用正则的话不是使用的精准匹配,需要自己的增加。
        }

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

转载于:https://www.cnblogs.com/frank888/p/4666046.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值