【发布时间】:2014-02-03 17:13:47
【问题描述】:
我在视图中有这个 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。感谢this answer 的替换技巧,我可以找到解决方法,但现在我只想知道为什么会这样。
【问题讨论】:
-
“我正在尝试为下一个产品创建 url”是什么意思?您能告诉我们您将通过 ajax 调用重定向的操作吗?
标签: asp.net-mvc asp.net-mvc-4 razor url-action