• Route类


    在ASP.NET3.5的SP1版本中,包括了一个新的命名空间System.Web.Routing,该程序集下的各个类主要实现路由的定义、解析、匹配等功能。路由并不是专门为ASP.NET MVC框架服务的,它也同样可以运行在WebForm程序上。
         Route类

         Route类是抽象类RouteBase的子类,在Route类中,设置了路由的5个基本属性它们分别是,路由的约束Constraints、路由的命名空间DataTokens、路由参数的默认值Defaults、路由处理程序RouteHandler及路由URL;并且定义了4个重载的构造函数。

    路由解析示意图

    通过实例我们来了解下路由

    实例一默认路由

    当我们打开VS2010新建一个ASP.NET MVC项目是在Global.asax中会看到以下代码:

     public static void RegisterRoutes(RouteCollection routes)
    {
    routes.IgnoreRoute(
    "{resource}.axd/{*pathInfo}");

    routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
    );

    }

    protected void Application_Start()
    {
    AreaRegistration.RegisterAllAreas();

    RegisterRoutes(RouteTable.Routes);
    }
    通过上面的代码我们看出,RoutTable类的静态属性Routes,可以获得RouteCollection类的实例化对象。利用之一特性,可以在
    Global.asax文件中设置多个路由,其中RegisterRoutes(RouteTable.Routes);使用了RouteTable.Routes属性,以便
    获得RouteCollection类的实例化对象并通过routes.MapRoute()方法在集合中添加新的路由。
    我们说一下routes.MapRoute()方法
    在RouteCollectionExtensions类中,对路由集合类RouteCollection扩展了俩类方法他们分别是IgnoreRoute()、MapRoute()方法
    IgnoreRoute()方法主要用于设置不需要使用路由解析的URL,有2个重载方法;MapRoute()方法用于设置各个路由,共6个重载方法。

     

  • 相关阅读:
    Leetcode总结之Tree
    Leetcode总结之DFS
    Leetcode总结之Backtracking
    策略模式(设计模式_02)
    面向对象思想设计_计算器小程序(设计模式入门篇_01)
    Android GridView 滑动条设置一直显示状态
    dp暑假专题 训练记录
    dp入门 专题记录 2017-7-26
    dp问题 -挑战例题 2017-7-24
    贪心思维 专题记录 2017-7-21
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1889892.html
Copyright © 2020-2023  润新知