2017-05-12 11 views
0

MVCで動作するすべての経路をキャッチできません。このquestionに表示されているものを実装しようとしましたが、動作しません。私は、IndexアクションでOnlineControllerというコントローラを持っています。私RouteConfig.csは、このように設定されています。次のURLに MVC 5キャッチすべて動作していません

 public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
      routes.MapMvcAttributeRoutes(); 

      AreaRegistration.RegisterAllAreas(); 

      routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "Home", action = "Index", id = 
       UrlParameter.Optional } 
      ); 

      routes.MapRoute("RouteName", "{*url}", new { controller = 
         "Online", action = "Index" }); 
     } 

閲覧

BLOCKQUOTE http://mysite/online/something

が与える404それがキャッチされ、インデックスにリダイレクトされていないのはなぜオンラインコントローラの操作ですか?

答えて

2

あなたはすべてのルートをキャッチしたい場合は、"Default"ルートを削除する必要があります

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapMvcAttributeRoutes(); 

    AreaRegistration.RegisterAllAreas(); 

    routes.MapRoute("RouteName", "{*url}", new { controller = "Online", action = "Index" }); 
} 

ルートは、それらがマップされたと、あなたのURLが"Default"ルートと一致するために選択されています。

あなたがあなたの"Default"ルートを使用することができ、既存のコントローラとアクションのためのいくつかのルートをキャッチしますが、制約にしたい場合は:今

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapMvcAttributeRoutes(); 

    AreaRegistration.RegisterAllAreas(); 

    routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
     constraints: new { controller = "Home|Home2", action = "Index|Index2"} 
     ); 

    routes.MapRoute("RouteName", "{*url}", new { controller = 
        "Online", action = "Index" }); 
} 

、あなたが名前をコントローラ場合"Home"または"Home2"で、アクション名が"Index"かであります"Index2"これらのルートは、既存のコントローラとアクションによって処理されます。他の名前 - "Online"コントローラ

+0

この方法はありますか? – Dave

+0

@Dave、編集済みの回答を参照 –

関連する問題