2014-09-04 133 views
0

我创建了一个弹出窗口,其中有一个文本框和一堆复选框。我给了所有的复选框一个值,这些值存储在一个数组中。 现在我想将这个数组和文本框的值从Jquery传递给控制器​​动作。我怎样才能做到这一点 ? 我已经通过所有关键字试穿了计算器,但它不工作...MVC剃刀从jquery传递复杂参数到控制器

我的jQuery的数据是follws:

$("#submit-button").click(function() { 
    var AccessBit = new Array(7); 
    AccessBit = BitLogic(); // integer array returned from BitLogic method 
    var role = $("#RoleName").val(); // Textbox value 
    var json = JSON.stringify(AccessBit); 
    alert(AccessBit); 
    $.ajax({ 
     url: "/Role/BitLogic", 
     type: 'POST', 
     contentType: 'application/json; charset=utf-8', 
     data: json, 

     dataType: 'json', 
     success: function (data) { 
      console.log(data); 
      window.location.reload(true); 
     } 
    }); 

    $("#createForm").dialog("close"); 
}); 

和控制器如下:

[HttpPost] 
public void BitLogic(int[][] AccessBit) 
{ 

} 

如何将角色值与Accesbit数组一起传递? AccessBit是二维整数数组。

+0

是您阵列已成功传递到控制器? – Mairaj 2014-09-04 05:14:22

+0

是的,我的阵列以这种方式成功传递给控制器​​... – Mayank 2014-09-04 05:17:04

+0

AccessBit?显示accessbit的代码 – 2014-09-04 05:17:15

回答

2

添加额外的参数,你POST方法

[HttpPost] 
public void BitLogic(int[][] AccessBit, string role) 
{ 
    .... 
} 

然后又传递值在你的Ajax功能

$.ajax({ 
    ..... 
    data: JSON.stringify({ AccessBit: AccessBit, role: role }), 

感谢Mairaj艾哈迈德

相关问题