MapPageRoute は ( msdnから)であるため、まず MapRoute を MapPageRoute に使用する必要があります。
Web フォーム アプリケーションのルートを定義する方法を提供します。
ただし、コードを次のように変更すると、次のようになります。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("AccountRoute", "{Action}", new {controller = "Account"});
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
パラメーターのないすべてのリクエストは、他のコントローラーで処理する必要がある場合でも、AccountRoute に送られます。
それが機能する唯一の方法は、次のようなコードを作成することです。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//ALL routes you need
routes.MapRoute("LoginRoute", "{Action}", new { controller = "Account", action = "Login" });
routes.MapRoute("RegisterRoute", "{Action}", new { controller = "Account", action = "Register" });
//Default route in the end
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);