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
});