MVC Razor将复杂的参数从jquery传递到控制器

本文关键字:jquery 控制器 参数 Razor 复杂 MVC | 更新日期: 2023-09-27 18:20:44

我创建了一个弹出窗口,其中有一个文本框和一堆复选框。我已经给所有的复选框一个值,这些值存储在一个数组中。现在,我想将这个数组和文本框值从Jquery传递给控制器操作。我该怎么做?我已经尝试了stackoverflow上的所有关键字,但它不起作用。。。

我的jquery数据如下:

$("#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是二维整数数组。

MVC Razor将复杂的参数从jquery传递到控制器

在POST方法中添加一个附加参数

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

然后在ajax函数中传递值

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

也归功于Mairaj Ahmad