ASP.Net MVCのルーティングおよびルーティングのデバッグツールRouteDebug

まず、ルーティングルール

  1、あなたはルールに複数のルートを作成することができ、各ルートのname属性は同じではありません

  図2に示すように、ルーティングルールが優先され、最優先ルーティングルールより高いです

RouteConfig.cs:App_Start下のファイル

1          公共 静的 ボイドRegisterRoutes(RouteCollectionルート)
 2          {
 3              routes.IgnoreRoute(" {リソース} .axd / {*}パス情報" )。
4  
5              routes.MapRoute(
 6                  名:" Default2 " 7                  URL:" {コントローラ} - {アクション} " 8                  デフォルト:新しい {コントローラ= " HomeDemo "、ACTION = " インデックス" }
9              )。
10  
11              routes.MapRoute(
 12                  名:" デフォルト" 13                  URL:" {コントローラ} / {アクション} / {ID} " 14                  デフォルト:新しい {コントローラ= " HomeDemo "、ACTION = " インデックス"、ID = UrlParameter .Optional}
 15              )。
16          }
 17      }

第二に、ルーティングデバッグツール

  不適切な登録のために我々のアプリケーションのための複数の経路を登録すると、あなたは望ましい結果を得ることができません。なぜこれがルートを行く、特定の要求が起こるのでしょうか?ヒーローRegisterRoutesを回し、この時間。

最初のステップ:最初のダウンロードのDLLライブラリ、私はBaiduのクラウドディスクのダウンロードに行きませんでした

リンクします。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     }

 

おすすめ

転載: www.cnblogs.com/chenyanbin/p/11279902.html
おすすめ