zoukankan      html  css  js  c++  java
  • 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个重载方法。

     

  • 相关阅读:
    Device Application Binding Manager---绑定管理
    Compile Options--编译选项
    [转] FPGA资料常用网站下载
    HAL层简介
    HAL层三类函数及其作用
    有关zstack的osal机制的理解
    bind与command---绑定之命令理解
    bind与command---绑定之命令理解-1
    zstack中事件加入到任务的方式
    Java常见错误列表
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1889892.html
Copyright © 2011-2022 走看看