Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字符串数组从视图传递到控制器_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 将字符串数组从视图传递到控制器

C# 将字符串数组从视图传递到控制器,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,可能重复: 到目前为止,我还没有找到解决这个问题的好办法 我的javascript/jQuery和我尝试使用ajax发送数据 var val = new Array(); $( ':checkbox:checked' ).each( function ( i ) { console.log( $( this ).val() ); val[i] = $(this).val(); }); removeSelected(val)

可能重复:

到目前为止,我还没有找到解决这个问题的好办法

我的javascript/jQuery和我尝试使用ajax发送数据

    var val = new Array();
    $( ':checkbox:checked' ).each( function ( i )
    {
        console.log( $( this ).val() );
        val[i] = $(this).val();
    });
    removeSelected(val);


function removeSelected(listOfStuff)
{
    $.ajax({
        url: '@(Url.Action("removeSelected"))',
        type: 'POST',
        data: { listOfStuff: listOfStuff },
        dataType: 'json',
        success: function ( return_data )
        {
            $( ":checkbox:checked" ).closest('tr').remove();
        }
    });
还有我的控制器。数组以null形式输入

    [HttpPost]
    public bool removeSelected ( string[] listOfStuff )
    {
       //do stuff
    }

有什么建议吗?

您可以尝试引用的
传统:true
建议,它是:

一个布尔值,指示是否执行传统的“浅层”序列化

这种变化看起来是:

$.ajax({
    url: '@(Url.Action("removeSelected"))',
    type: 'POST',
    traditional: true,
    data: { listOfStuff: listOfStuff },
    dataType: 'json',
    success: function ( return_data )
    {
        $( ":checkbox:checked" ).closest('tr').remove();
    }
});
此外,我可以为您的代码提供一个小建议吗?我想改变这一点:

var val = new Array();
$( ':checkbox:checked' ).each( function ( i )
{
    console.log( $( this ).val() );
    val[i] = $(this).val();
});
致:


黑暗中的快速拍摄:您是否尝试过执行“listOfStuff”:listOfStuff(键为“”)?可能客户端的数组中实际上没有字符串,只有数字或其他内容,但没有字符串?
var val = []; // use this array notation
$(':checkbox:checked').each(function ()
{
    console.log($(this).val());
    val.push($(this).val()); // use push() instead of an index
});