呼び出されたアクションまたはコントローラーを変更せずに、mvc で特定のアクションの URL を変更する方法はありますか?
もしそうなら、これは次のMapRouteでどのように行われますか:
routes.MapRoute(
"Estate.CloseDeal",
"Estate/CloseDeal/{groupId}/{paymentType}/{mortgageValue}/{province}",
new { controller = "Estate", action = "CloseDeal" },
new { groupId = "\\d+", paymentType = "\\d+", mortgageValue = "\\d+", province = "\\d+" }
);
希望する URL は「.../estate-support/deal-closing/...」です。現在、「.../Estate/CloseDeal/...」と表示されています。
このアクションにリンクするボタンは次のようになります。
<button detail="@Url.Action("CloseDeal", new { groupId = info.GroupId })" class="orange">
編集1:
に変更しようとしました:
routes.MapRoute(
"Estate.CloseDeal",
"estate-support/deal-closing/{groupId}/{paymentType}/{mortgageValue}/{province}",
new { controller = "Estate", action = "CloseDeal" },
new { groupId = "\\d+", paymentType = "\\d+", mortgageValue = "\\d+", province = "\\d+" }
);
これによりエラーが返されました: お探しのリソースは削除されているか、名前が変更されているか、一時的に利用できません。
編集2:
2 番目の文字列を変更すると、すべてのルートで機能しましたが、これは違います。違いは、このルートには追加のパラメーター (groupID、paymentType など) があることです。