【发布时间】:2013-07-11 22:04:53
【问题描述】:
如果用户当前在参数引用的控制器和操作中,@Url.Action 方法是否打算返回当前 url?
我有一个简单的控制器设置。
OrderableTest/Details/Id
ResultableTest/Details/Id
如果我从家庭控制器(Home/Index) 或Resultable/Details 调用@Url.Action("Details", "Orderable"),我会将正确的URL 保存到javascript 变量("/Orderable/Details")。但是,如果我在详细信息页面上,则 id 将包含在 url 中。例如,我在页面Orderable/Details/12345 上并调用@Url.Action("Details", "Orderable"),而不是得到"/Orderable/Details" 我得到"/Orderable/Details/12345"。这是预期的功能吗?
路由图是默认的。
根据要求编写 Javascript:
var orderableDetailUrl = '@Url.Action("Details", "Orderable")';
var resultableDetailUrl = '@Url.Action("Details", "Resultable")';
alert(orderableDetailUrl);
alert(resultableDetailUrl);
【问题讨论】:
-
如果你展示你的javascript并描述你想要实现的目标会有所帮助
-
我从未遇到过这种行为,您确定按预期使用它吗?
-
UrlHelper 方法使用上下文信息(如当前页面路由数据)来创建 url。所以,是的,这是预期的行为。正如 Dimitry 所说,我们的代码也是如此。
标签: javascript .net asp.net-mvc-4