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个重载方法。

     

  • 相关阅读:
    mysql修改登录密码三种方式
    python 面向对象类与类之间的关系
    python 初识函数
    python 编码
    MVC部门树的实现 http://www.ztree.me/v3/api.php
    事务能否对一个表进行如下操作:先删除后添加?
    添加注释时,该如何输入当前修改时间呢
    js代码折叠的方法//#region 代码 //#endregion
    echarts画折线图,柱状图,饼图
    方法中开启一个事务之后,能否调用另一个通过事务实现的函数?
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1889892.html
Copyright © 2011-2022 走看看