1

我可以使用如下函数中的代码重定向用户:

 window.location.href = "@Url.Action("ShippingSummary", "Shipping", new { id = 2 })"

我在变量中有 id,但我需要将它动态分配给 ActionLink。像这样的东西

var ID = 2;
window.location.href = "@Url.Action("ShippingSummary", "Shipping", new { id = ID })"

我收到一个未定义 ID 的错误。我曾尝试先将操作链接创建为字符串,但这没有用。我怎样才能让它工作?

4

1 回答 1

4

在本例中,您正在混合使用 Javascript 和 C#。Javascript 会在浏览器中执行,而 C# 会在服务器上执行,所以不能这样混用。

相反,您应该这样做:

var ID = 2;
window.location.href = "@Url.Action("ShippingSummary", "Shipping")" + "?id=" + ID;

在这种情况下,Razor 将发出 Controller Action 路由的第一部分,然后您可以将所需的查询字符串参数添加到路径中。

于 2012-08-08T18:53:04.640 回答