zoukankan      html  css  js  c++  java
  • Mvc注册路由的方式;

    必须在任何请求之前添加路由,所以添加路由的唯一路径就是Global.asax文件的Application_Start事件内部

    public static void RegisterRoutes(RouteCollection routes)

            {

               

     Route bolg = new Route(

                    "blog/arch/{year}/{month}/{day}",

                    new MvcRouteHandler()

                    );

     routes.Add(blog);

           }

     protected void Application_Start()

            {

                RegisterRoutes(RouteTable.Routes);

            }

     

    备注:向集合中添加一个路由是,还可以指定一个名称,在控制器内部或者当前创建指向特定路由的链接时,可以通过路由的友好名称引用路由。

    routes.Add("blog",blog);

    只要你愿意,可以添加任何数量的路由,当一个请求到达应用程序是,路由的引擎将遍历所有已注册的路由,检查请求的url是否和url模式匹配,然后在根据指定约束检查url参数是否有效。一旦路由引擎找到一个匹配的路由,就会停止遍历,为此,路由的注册顺序非常重要。

    所有路由都是RouteCollection实例,RouteCollection有两个属性

    StopRoutingHandler:特殊的处理程序。用于路由引擎停止处理,并让默认程序完成其工作,该属性经常用于资源文件(.axd)或web服务(.asmx)

    示例:

     routes.Add(new Route(

                    "{resource}.axd/{*pathInfo}",new StopRoutingHandler()

                    ));

    RouteExistingFiles:

    如果在请求是该属性设置为true,则指示路由引擎处理请求也处理对已存在文件的请求,否则,将有已存在的asp.net页面直接处理请求,该属性默认是false,

    如果设置成true,路由引擎就会处理图像,样式表,javascript文件。

    路由辅助方法:

     routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    等价于

      routes.Add(new Route(

                    "{resource}.axd/{*pathInfo}",new StopRoutingHandler()

                ));

     routes.MapRoute(

                    "blog",

                    "blog/{year}/{month}/{day}",

                     new

                     {

                         year = "2011",

                         month = "11",

                         day = "0"

                     },

                     new

                     {

                         year = @"\d{2}|\d{4}",

                         month = @"\d{1,2}",

                         day = @"\d{1,2}",

                     }

                     );

    调试路由:

     protected void Application_Start()

            {

                RouteTable.Routes.RouteExistingFiles = true;

                RegisterRoutes(RouteTable.Routes);

                     RouteDebug.RouteDebugger.RewriteRoutesForTestiing(RouteTable.Routees);

            }

    这个需要下载插件名称是RouteDebug,并对它引用

  • 相关阅读:
    MongoDB的下载与安装
    Oracle PL/SQL 编程手册(SQL大全)
    内部类、异常、其他
    异常(补充)
    final、抽象类、接口、多态、
    改变JVM中的参数以提高Eclipse的运行速度
    Java中的三目运算符 详解
    Java中的Stringbuffer类解析
    Staitic(静态) 相关知识点介绍
    Java反射
  • 原文地址:https://www.cnblogs.com/linsu/p/2413529.html
Copyright © 2011-2022 走看看