Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MVC中,如何在JavaScript的url.action中传递多个参数?_Javascript_Asp.net Mvc - Fatal编程技术网

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

在MVC中,如何在JavaScript的url.action中传递多个参数?,javascript,asp.net-mvc,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 = "__employee

我的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;
}
但它不起作用。这是我的控制器代码,我在下面的vaiables中没有得到任何值

public ActionResult Index(int productId, int orderId, int employeeId, string mode)
{
    return View();
}

关于如何通过url.action传递多个参数,您有什么想法吗?

使用@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;
}

使用
url.action
helper方法获取操作方法的基本url,并将querystring参数添加到该方法中

这应该行得通

$(function(){

  var productId = 23;
  var employeeId = 44;
  var orderId = 34;
  var mode = "tes";

  var url = '@Url.Action("Index", "Post")';
  url += '?productId=' + productId + '&orderId=' + orderId + 
                                            '&employeeId=' + employeeId + '&mode=' + mode;
  window.location.href = url;

仅将数字转换为字符串

 function EditRoles(companyid, roleid) {

            //debugger;

            var url = '@Html.Raw(Url.Action("EditRol", "Rol", new { companyID = "__companyid__", roleID = "__roleID__"}))';
            var params = url.replace('__companyid__', companyid.toString()).replace('__roleID__', roleid.toString());
            window.location.href = params;
        }

params
(使用console.log(params);`检查输出)的值是多少?您的代码是在JS文件中还是在CSHTML(razor view)文件中?@StephenMuecke以下是chrome中的响应,params=“/Home?productId=1&;orderId=4&;employeeId=10&;Mode=edit”,productId=1,orderId=4,employeeId=10,模式=edit@simdrouin在razor视图文件中