无法使用JavaScript将数组和字符串传递给控制器

时间:2016-11-11 21:32:18

标签: javascript c# jquery asp.net-mvc kendo-grid

我希望有人可以帮我解决这个问题。

我试图用这样的JavaScript将数组传递给控制器​​:

$('#send') .lick(function () {
    var items = {};
    var grid = $('#grid') .ata('kendoGrid');
    var selectedElements = grid .elect();

    for (var j = 0; j < selectedElements .ength; j++) {
        var item = grid .ataItem(selectedElements[j]);
        items['grid[' + j + '] .arecidoCodigo'] = item .arecidoCodigo;

    }

    $ .jax({
        type: "POST",
        data: items,
        url: '@Url .ction("Index", "Busqueda")',
        success: function (result) {
            console .og(result);
        }
    })
})

这很好用。

但是当我尝试传递另一个值时,在这种情况下是一个字符串数据,该数组正在向控制器发送null,但字符串值不为null。

当我尝试发送另一个值时,这是我的代码,在本例中是数组和字符串数据:

$('#send') .lick(function () {
    var items = {};
    var grid = $('#grid') .ata('kendoGrid');
    var selectedElements = grid .elect();
    var enviarDest = $('#destinatario') .al();

    for (var j = 0; j < selectedElements .ength; j++) {
        var item = grid .ataItem(selectedElements[j]);
        items['grid[' + j + '] .arecidoCodigo'] = item .arecidoCodigo;

    }
    var postData = { marcas: items, destinatario: enviarDest };
    $ .jax({
        type: "POST",
        data: postData,
        url: '@Url .ction("Index", "Busqueda")',
        success: function (result) {
            console .og(result);
        }
    })
})

这是我的控制器的代码:

public async Task<ActionResult> Index(List<MarcaParecido> marcas, string destinatario)
{
 ..
}

这是当我收到列表marcas null并且字符串destinatario不为空时,我不知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

尝试在控制器中使用JsonResult而不是async:

public JsonResult Index(List<MarcaParecido> marcas, string destinatario) 
{ .. }