したがって、プロジェクトには次のルートがあります。ここでやりたいことは、似たようなルート URL を 1 つ使用しますが、指定されたパラメーターが文字列Search
の場合はルートを選択する必要があり、指定されたパラメーターに基づいて 2 つの異なるアクションにリダイレクトします。パラメータは、ルートを選択する必要があるよりも数字/整数GetCategory
であり、これを達成するために、SOで既存のオンラインヘルプを探した後、次のコードを記述しましたが、これは期待どおりに機能していないようです.
パラメータ値が何であれ、リストの最初に表示されるルートが常に選択されます。
//routes.MapRoute("GetCategory", "{pId}", new { controller = "Student", action = "Post", pId = @"^\d{1,3}$" });
routes.MapRoute("Search", "{category}", new { controller = "Student", action = "Search", category = UrlParameter.Optional });
routes.MapRoute("GetCategory", "{pId}", new { controller = "Student", action = "Post", pId = @"^\d{1,3}$" });
ここで何が欠けているのか、誰か助けてもらえますか?