手に負えなくなってきているリクエストコントローラーがあり、クリーンな URL を維持しながら、複数のコントローラーでアクションを分割したいと考えています。ルーティングを試してみましたが、成功しませんでした。ルーティングに関するいくつかの例とチュートリアルを読みましたが、例は理解していますが、私のケースには何も当てはまらないようで、賢明ではないと感じています。私が望むのは、URLRequests/Approval
が RequestController ではなく ApprovalController で処理されるようにすることです。そのため、次のように記述しました。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Approval",
"Request/{controller}/{action}",
new { controller = "Approval", action="Index", id = "" }
);
}
しかし、それは機能していません。なんで?ビューに Approval というフォルダがあり、そこに というファイルがありますIndex.cshtml
。MapRoute はどのようにコーディングすればよいですか?
編集
私が持っているすべてのルートを追加しました