0

したがって、プロジェクトには次のルートがあります。ここでやりたいことは、似たようなルート 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}$" });

ここで何が欠けているのか、誰か助けてもらえますか?

4

2 に答える 2

0

GetCategory ルートを他のルートの上に移動しようとしましたか。検索ルートの問題は、それに制約がないため、何にでも一致することです。GetCategory ルートを一番上に移動して文字列を指定すると、それは数字ではないため一致せず、次のルートに移動します。

于 2013-07-29T15:52:15.047 に答える