次の URL 構造があり、構成するのに最適なルートを見つけようとしています。
編集:さらにURLを追加しました
/cars/{name} (車に関する一般的な情報を表示します)
/cars/{name}/models (特定の車のモデルのリストを表示します)
/cars/{name}/models/{id} (特定の車の特定のモデルを表示)
/cars/{name}/models/edit (アクションとなる新しいモデルを追加)
/cars/{name}/models/{id}/owners (特定のモデルの所有者のリスト)
/cars/{name}/models/{id}/owners/create (新しい所有者を追加)
これまでのところ、私は
routes.MapRoute(
name: "CarReleases",
url: "cars/{name}/models/{id}",
defaults:
new
{
controller = "Releases",
action = "Index",
id = UrlParameter.Optional
}
);
これは、/cars/{name}/models を使用すると機能しますが、明らかに、モデル ページで使用できるアクションがありません。この状況では、新しいルート マップを作成する必要がありますか?
次のようにマッピングされた CarController もあります。
routes.MapRoute(
name: "Cars",
url: "cars/{name}/{action}",
defaults: new { controller = "Cars", action = "Details", id = UrlParameter.Optional }
);
ご覧のとおり、アクションと動的リクエストが一般的に混在しています。これをmaprouteに入れる最良の方法を少し混乱させました。