如何在MVC中的JavaScript中传递url.action中的多个参数?

AMe*_*Meh 6 javascript asp.net-mvc

我的MVC应用程序中有以下javascript函数,

function EditProducts(productId, orderId, employeeId, mode) 
{
    mode = "edit";
    debugger;
    var url = '@Url.Action("Index", "Home", new { productId = "__productId__", orderId = "__orderId__", employeeId = "__employeeId__", Mode = "__mode__"})';
    var params = url.replace('__productId__', productId).replace('__orderId__', orderId).replace('__employeeId__', employeeId).replace('__mode__', mode);
    window.location.href = params;
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.这是我的控制器代码,我在下面的vaiables中没有得到任何值,

public ActionResult Index(int productId, int orderId, int employeeId, string mode)
{
    return View();
}
Run Code Online (Sandbox Code Playgroud)

关于如何通过url.action传递多个参数的任何想法?

sim*_*uin 13

使用@ Html.Raw防止&符号转换为&javascript内部代码

function EditProducts(productId, orderId, employeeId, mode) 
{
    mode = "edit";
    debugger;
    var url = '@Html.Raw(Url.Action("Index", "Home", new { productId = "__productId__", orderId = "__orderId__", employeeId = "__employeeId__", Mode = "__mode__"}))';
    var params = url.replace('__productId__', productId).replace('__orderId__', orderId).replace('__employeeId__', employeeId).replace('__mode__', mode);
    window.location.href = params;
}
Run Code Online (Sandbox Code Playgroud)