具有数组列表属性的jQuery JSON ASP.NET MVC访问对象?

时间:2009-08-26 16:32:46

标签: jquery asp.net-mvc arrays json

我有一个包含2个ArrayList属性的对象。

public class TestDTO
{
    public ArrayList Test1 { get; set; }
    public ArrayList Test2 { get; set; }
}

我在JsonResult Action中将对象作为JSON返回。我的AJAX调用的SUCCESS看起来如下,但它似乎没有工作。从对象访问序列化数组需要做什么?

 success: function(data) {

                    var counter = 1;
                    jQuery.each(data.Test1, function() {
                        $("#DataFields" + counter).val(this);
                        counter++;
                    });
                },

3 个答案:

答案 0 :(得分:3)

查看结果的一种方法是在Mozilla中使用Firebug。或者独立的应用程序Fiddler。

我认为该类包装整个对象,所以它应该看起来类似于:

TestDTO {
   Test1 [
      "value", "value 1", "value 2"
   ],
   Test2 [
      "value", "value 1", "value 2"
   ]
}

如果您想访问Test1,您可以编写TestDTO.Test1。如果你想要Test1中的第一个值,你可以编写TestDTO.Test1 [0]等等......

获得更多输出控制的一种方法是使用LINQ并选择new:

select new {
   MyVariable = MyValue,
   AnotherVariable = AnotherValue
}

现在您知道“MyVariable”也将是JSON变量名称。

答案 1 :(得分:2)

以下可能有用吗?:

success: function(data) {
    $.each(data.Test1, function(i, item) {
        $('#DataFields' + i).val(item);
    });
}

答案 2 :(得分:1)

当我遇到这样的情况时,我会使用firebug并在success方法中的某个地方打破。然后查看数据的实际结构,我敢打赌它会很明显。