C# 传递列表<;int>;从javascript到控制器
我正试图将C# 传递列表<;int>;从javascript到控制器,c#,javascript,C#,Javascript,我正试图将列表从我的视图传递到我的控制器。我用不同的参数尝试了多种方法。不走运 我目前正在尝试将{[4,5,13]}传递给参数为列表ID的方法 发送列表或数字数组的正确格式是什么?我认为您必须输入以下内容: {"ids":[4,5,13]} 如果您使用的是AJAX,那么我记得我必须将traditional设置为true,这样才能正确解析参数。AJAX方式: 从jquery文档中,可以看到: 数据 类型:普通对象或字符串 要发送到服务器的数据。它是 已转换为查询字符串(如果尚未转换为字符串)。它
列表
从我的视图
传递到我的控制器
。我用不同的参数尝试了多种方法。不走运
我目前正在尝试将{[4,5,13]}
传递给参数为列表ID
的方法
发送列表或数字数组的正确格式是什么?我认为您必须输入以下内容:
{"ids":[4,5,13]}
如果您使用的是AJAX,那么我记得我必须将traditional
设置为true,这样才能正确解析参数。AJAX方式:
从jquery文档中,可以看到:
数据
类型:普通对象或字符串要发送到服务器的数据。它是 已转换为查询字符串(如果尚未转换为字符串)。它附在 GET请求的url。请参阅processData选项以防止出现这种情况 自动处理。对象必须是键/值对。如果值是 数组,jQuery根据 传统设置的值(如下所述) 传统的 键入:布尔值
如果要使用 传统的艺术风格
把它擦掉。如果你打开
traditional
选项,你实际上可以发送javascript数组对象。@DoctorOreo是的,这就是我一直关注的问题。我不得不把Fiddler拉出来想一想:)很高兴它对其他人有帮助传统的:是的,/*我是做这项工作的。谢谢
var roleList = new Array();
var usrId = "testuser";
/* one way of adding items to array */
roleList.push(1);
roleList.push(5);
roleList.push(8);
$.ajax({
type: "POST",
traditional: true, /* I M P O R T A N T */
url: /* url to controller goes here */,
data: { userId: usrId, allowedRoles: roleList },
success: function(returndata) {
alert("Done");
},
error: function(returndata) {
alert("Error:\n" + returndata.responseText);
}
});