URL 書き換えの問題。次のリンクを使用してURLを呼び出すと
http://localhost:12719/product/18
製品 18 がパラメーターにリンクされていれば問題なく動作します。ただし、次を使用して呼び出すと。
http://localhost:12719/product/apple
Apple 製品名をコントローラーにマップしません。タイプ apple のアクションを呼び出そうとしていると考えています。
コントローラーパラメーターに文字列ではなく数値をマップするのはなぜですか? コントローラ パラメータは文字列型です。
ルーティングは以下の通りです。
routes.MapRoute(
name: "product",
url: "product/{id}/{slug}",
defaults: new { controller = "product", action = "product", slug = UrlParameter.Optional },
constraints: new { id = @"\d+" }
);