Can';t使用JavaScript将数组和字符串传递给控制器

Can';t使用JavaScript将数组和字符串传递给控制器,javascript,c#,jquery,asp.net-mvc,kendo-grid,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++) {

我希望有人能帮我解决这个问题

我试图用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);
        }
    })
})
$('#send').lick(函数(){
变量项={};
var grid=$('#grid').ata('kendoGrid');
var selectedElements=grid.elect();
对于(var j=0;j
这个很好用

但当我试图传递另一个值时,在本例中是字符串数据,数组正在向控制器发送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);
        }
    })
})
$('#send').lick(函数(){
变量项={};
var grid=$('#grid').ata('kendoGrid');
var selectedElements=grid.elect();
var enviarDest=$('#destinatario').al();
对于(var j=0;j
这是我的控制器的代码:

public JsonResult Index(List<MarcaParecido> marcas, string destinatario) 
{ .. }
公共异步任务索引(列表marcas,字符串destinatario)
{
..
}

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

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

public JsonResult Index(List<MarcaParecido> marcas, string destinatario) 
{ .. }
publicJSONResult索引(列表marcas,字符串destinatario)
{ .. }

什么是
MarcaParecido
模型,您试图绑定到它的哪个属性?代码中有几个语法错误。似乎有些信根本就没有收到。例如,它是
$.ajax
而不是
$.jax
。此外,问题可能是您正在使用对象来表示
/
marcas
,而不是数组来表示
列表
,这可能不起作用。如果你想要一个对象,你可能需要一个
字典
列表
。问题是,当我只将数组传递到控制器时,它工作,但当我试图传递另一个值时,它发送空值。我也试过这个,MarcaParido[]marcas和是一样的。仅当我仅通过阵列时才有效。我还需要传递另一个值。您是否尝试过
JSON.stringify(postData)
?感谢您的回复,但它给我带来了一个错误语法。很抱歉,它仍然向我发送null数组,但字符串参数不是null。我不知道我还能做什么:(对于剑道网格,在该链接中没有完整的解释如何做到这一点,使用DataSourceRequest类型很重要,否则控制器无法正确识别传递的数据,您需要将方法更改为:public JsonResult Index([DataSourceRequest]DataSourceRequest请求),如果您可以尝试更推荐的方法,我记得我遇到了非常类似的问题,控制器没有理由无法识别我传递的数据,但使用链接中描述的模式后就可以了。我理解,但问题是,当我点击“发送”按钮时,我想向控制器发送其他值。