6

我正在尝试将 aList<int>从 my传递View到 my Controller。我尝试了多种方法,使用不同的参数。没运气。

我目前正在尝试{[4,5,13]}使用参数传递给方法List<int> ids

发送数字列表或数组的正确格式是什么?

4

2 回答 2

7

我相信你必须传递这样的东西:

{"ids":[4,5,13]}

如果您使用的是 AJAX,那么我记得我必须设置traditional为 true (请参阅 jquery ajax 文档),这样才能正确解析参数。

于 2012-04-18T22:14:51.243 回答
3

AJAX方式:

来自AJAX的 jquery 文档:

数据

类型: PlainObject 或 String
要发送到服务器的数据。如果还不是字符串,则将其转换为查询字符串。它附加到 GET 请求的 url。请参阅 processData 选项以防止此自动处理。对象必须是键/值对。如果 value 是一个数组,jQuery 会根据传统设置的值(如下所述)序列化具有相同键的多个值。

传统的

类型: Boolean
如果您希望使用传统的参数序列化风格,请将其设置为 true 。

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);
            }
        });
于 2013-04-29T16:19:35.230 回答