zoukankan      html  css  js  c++  java
  • ASP.Net MVC 路由及路由调试工具RouteDebug

    一、路由规则

      1、可以创建多条路由规则,每条路由的name属性不相同

      2、路由规则有优先级,最上面的路由规则优先级越高

    App_Start文件下的:RouteConfig.cs

     1         public static void RegisterRoutes(RouteCollection routes)
     2         {
     3             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
     4 
     5             routes.MapRoute(
     6                 name: "Default2",
     7                 url: "{controller}-{action}",
     8                 defaults: new { controller = "HomeDemo", action = "Index" }
     9             );
    10 
    11             routes.MapRoute(
    12                 name: "Default",
    13                 url: "{controller}/{action}/{id}",
    14                 defaults: new { controller = "HomeDemo", action = "Index", id = UrlParameter.Optional }
    15             );
    16         }
    17     }

    二、路由调试工具

      当为我们的应用程序注册多个路由后,由于注册不当,得不到预期的结果。为什么会发生这种情况,请求具体走了哪个路由?这个时候主人公RegisterRoutes上场了。

    第一步:先下载dll类库,没有的请到我百度云盘下载

    链接:https://pan.baidu.com/s/1jJ1W88cOuTrdooLySnGVSg
    提取码:097u
    第二步:引入包:RouteDebug

    第三步:到Global.asax中重写测试路径

     1     public class MvcApplication : System.Web.HttpApplication
     2     {
     3         protected void Application_Start()
     4         {
     5             AreaRegistration.RegisterAllAreas();
     6             FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     7             RouteConfig.RegisterRoutes(RouteTable.Routes);
     8             BundleConfig.RegisterBundles(BundleTable.Bundles);
     9 
    10             RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes); //重写测试路径
    11         }
    12     }

    第四步:运行网站,进行分析路由规则

     

    搞定!~~

     三、路由的约束

     1     public class RouteConfig
     2     {
     3         public static void RegisterRoutes(RouteCollection routes)
     4         {
     5             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
     6 
     7             routes.MapRoute(
     8                 name: "Default2",
     9                 url: "{controller}-{action}",
    10                 defaults: new { controller = "HomeDemo", action = "Index" },
    11                 constraints:new {Controller=@"^d+$" }, //控制器约束
    12                 namespaces:new string[] { "MVCDemo2.Controllers" } //命名空间约束
    13             );
    14 
    15             routes.MapRoute(
    16                 name: "Default",
    17                 url: "{controller}/{action}/{id}",
    18                 defaults: new { controller = "HomeDemo", action = "Index", id = UrlParameter.Optional }
    19             );
    20         }
    21     }
  • 相关阅读:
    eclipse svn插件
    eclipse 图片预览插件
    eclipse properties文件插件
    eclipse Failed to load the JNIshared library
    Spark MLlib之线性回归源代码分析
    ul,li不能左右居中的问题
    【日常学习】【搜索/递归】codevs2802 二的幂次方题解
    UVa 112
    查询一个月最后一天的总用户数,数据库中没有保存最好一天的数据,就查询本月数据库已存有的最后一天的数据
    uva:10763
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/11279902.html
Copyright © 2011-2022 走看看