• ASP.NET MVC路由模块


    asp.net mvc里面有个路由模块,这模块是访问网站最开始匹配控制器的作用。这是golbal里面的注册路由

       //注册路由规则,应用程序一开始的时候已经将路由规则注册到了路由表里面去了。
                RegisterRoutes(RouteTable.Routes);

     源地址:http://www.cnblogs.com/sixiangqimeng/p/3562285.html

            public static void RegisterRoutes(RouteCollection routes)
            {
    
                //1、 路由规则 key必须是唯一的。
                //2、 路由规则是有顺序。如果前面的规则已经被匹配上了,那么后续的规则就不被匹配了。
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                routes.MapRoute(
                    "Default", // 路由规则:名称,必须是唯一的。
                    "{controller}/{action}/{id}", // 带有参数的 URL  http://localhost/home/index  =>controller:home
                    //action:index
                    new { controller = "UserInfo", action = "Index", id = UrlParameter.Optional }, // 参数默认值
                   new { },//约束参数,约束 控制器,约束action必须符合某个正在表达式。
                    new string[] { "MvcApplication1.Controllers" }//约束控制器必须是在某个命名空间下。
                );
    
    
                routes.MapRoute(
                   "Default2", // 路由规则:名称,必须是唯一的。
                   "{controller}-{action}/{id}", // 带有参数的 URL  http://localhost/home/index  =>controller:home
                    //action:index
                   new { controller = "Ajax", action = "Index", id = UrlParameter.Optional } // 参数默认值
               );
    
    
     routes.MapRoute(
                   "Default3", "{*values}"
                   new { controller = "home", action = "Index", } // 参数默认值
               );
    
    
            }

    三种路由模式,首先要说明,路由模块是可以先写多个路由规则,但是路由名称一定要唯一,不然的话,会报错,然后就是匹配规则,没什么好说的。里面有重装,可以匹配控制器模式,
     new string[] { "MvcApplication1.Controllers" }这个是定义在某个命名空间下进行搜索。这个是配合MVC中区域功能的使用。区域功能是比如有许多的控制器,便可以设置不同区域,便于查找,这样每一个区域变会有一个路由,如果两个区域有相同的控制器名称的话,就必须要设置命名空间,不然的话,会报错,设置好命名空间后,这个问题便可以解决

     源地址:http://www.cnblogs.com/sixiangqimeng/p/3562285.html

  • 相关阅读:
    python3.5: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
    php回溯
    PHPredis长连接pconnect
    php操作redis出现不报错就退出
    MSMQ消息队列
    消息队列使用的四种场景介绍(准载)
    Spring MVC参数封装传递
    Spring MVC配置实例
    .NET项目中使用PostSharp
    C#进阶系列——AOP
  • 原文地址:https://www.cnblogs.com/sixiangqimeng/p/3562285.html
Copyright © 2020-2023  润新知