如何在 Url.Action() 中传递多个参数

How to pass multiple parameters in Url.Action()

我想从 Url.Action 传递多个参数,这是视图中的代码

 window.location.href = "@Url.Action("ABC", "XYZ", new { @A= ViewBag.A , @B =  ViewBag.B })";

这是我在控制器中的方法XYZ

 public ActionResult ABC(string A, string B)
 {
    // Some Code
 }

我总是只在第一个参数中获取值,而第二个参数始终为空。如果我先 B 。第二个总是空的。 VIEW基本上是在JavaScript函数下。 这是 URL:http://localhost/CargoMainSite/XYZ/ABC?A=1&B=2 请注意参数一和参数二之间有一些额外的文本,如果我明确删除它,那就是 "amp;" 。它工作正常并获得正确的值。

Url.Action 不工作的原因是 url 中的 & 字符被编码,所以你必须使用 @Html.Raw 如下

 window.location.href = "@Html.Raw(@Url.Action("ABC", "XYZ", new { @A= ViewBag.A , @B =  ViewBag.B }))";