0

我有这个问题。

我的功能是这个

$.ajax({
            type: "POST",
            url: "/controller/CreateList",
            contentType: "application/json; charset=utf-8",
            traditional: true,
            data: JSON.stringify(myvar),
            success: function (returnArray) {
            }
.....

在我的控制器中,我有这个动作:

public int[] CreateList(List<ERoleCommission> erolecommission){
        List<int> intList= new List<int>();
        ...//populate the List
        return  intList.ToArray();
}

通过调试,我看到 intList 填充了正确的值,所以它不是 ac# 错误,在从控制器调用此操作后,调试返回到 js 函数和 returnArray =“System.Int32[]”,它只包含类型。为什么?谢谢

4

1 回答 1

5

在没有看到您的控制器/动作的情况下,我只是猜测,但我的第一个猜测是您忘记对数据进行 JSON 编码,然后再将其作为 ActionResult 从您的动作返回。在你的行动中尝试这样的事情:

public JsonResult YourAction() {
    // ... do stuff
    var yourArrayOfData = CreateList(yourListOfData);
    return Json(yourArrayOfData);
}
于 2012-10-30T10:06:34.930 回答