ビューに次の JavaScript コードがあります。
function getUrl(id) {
var url = "@Url.Action("Product", "Product")/" + id;
return url;
}
これはルーティング構成です:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "localized",
url: "{culture}/{controller}/{action}/{id}/{title}",
defaults: new { culture = "en", controller = "Home", action = "Index",
id = UrlParameter.Optional, title = UrlParameter.Optional},
constraints: new { culture = "en|fa" }
);
Url.Action("Product", "Product") から期待しているのは返さ/en/Product/Product/
れることですが/en/Product/Product/92
、92 は現在の製品の ID であり、次の製品の URL を作成しようとしています。この回答の置換トリックのおかげで回避策を見つけることができましたが、今はなぜこれが起こっているのか知りたいだけです。