MVC 4.0 を使用しており、コントローラーごとにルートを追加しようとしています。
さて、私の最初のコントローラーは CustomersController と呼ばれます。追加したルートは次のとおりです。
routes.MapRoute(
name: "Customer",
url: "{controller}/{action}/{IdCustomer}",
defaults: new { controller = "Customers", action = "Index", IdCustomer = UrlParameter.Optional }
);
アプリケーションを実行すると、インデックス ページ (リスト) に次のリンクが表示されます。
http://localhost:6838/Customers/Create/5
http://localhost:6838/Customers/Edit/5
http://localhost:6838/Customers/Details/5
http://localhost:6838/Customers/Delete/5
わかりました!それは私が探しているものですが、今私の問題を始めてください。ItemsController という別のコントローラーを追加し (同じアクション - 作成/編集/詳細/削除)、同じルートを追加しようとしました:
routes.MapRoute(
name: "Item",
url: "{controller}/{action}/{IdItem}",
defaults: new { controller = "Items", action = "Index", IdItem = UrlParameter.Optional }
);
しかし、結果は異なります...次のリンクを取得しています:
http://localhost:6838/Items/Create?IdItem=1
http://localhost:6838/Items/Edit?IdItem=1
http://localhost:6838/Items/Detail?IdItem=1
http://localhost:6838/Items/Delete?IdItem=1
なぜ..なぜ:'(機能していないのですか?なぜ、追加されたばかりの新しいルートではなく、最初のルートでのみ機能するのですか?!
敬具、ダン