如何将字符串数组传递给actionresult

时间:2017-05-01 18:35:30

标签: c# jquery ajax

我有一个变量,它是一个string []参数。我试图在actionresult中推送值并且尚未匹配string []参数。所以我的ajax:

    var panels = [];
    $('input.checkone').each(function (e) {
        if ($(this).is(':checked')) {
            var inputCheck = $(this).closest('tr').find('td:nth-child(6) a').text();
            panels.push(inputCheck);
        }
    });
    var data = { panels: panels };
    $.ajax({
      url: "/main/sub",
      data: data,
    }).etc...

所以面板看起来像面板:数组[1] 0:'测试', 然后它转到我的控制器:

public ActionResult sub(string[] panels)
{
 //content 
}

目前这些小组正在经历{string [1]}。我不确定为什么我的字符串没有被正确传递并且像{string [1]}一样被传递。

2 个答案:

答案 0 :(得分:0)

此代码适用于我:

        var url = 'http://my-address/';
        var array = ["hello", "world"];
        $.post(url, $.param({ data: array }, true), function (result) {
            $('#MyDiv').html(result);                
        }); 



public ActionResult sub(List<string> data)
{
 //content 
}

答案 1 :(得分:0)

您需要告诉jQuery以传统方式序列化您的参数,这不再是jQuery 3.0以来的默认值。

-scpimpl 0x15
相关问题