2009-08-26 189 views
1

我有一个具有2个ArrayList属性的对象。带数组列表属性的jQuery JSON ASP.NET MVC访问对象?

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

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

success: function(data) { 

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

回答

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,并选择新:

select new { 
    MyVariable = MyValue, 
    AnotherVariable = AnotherValue 
} 

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

1

当我进入这样的情况时,我使用了萤火虫,并在成功方法中的某个地方突破。然后检查数据的实际结构,我敢打赌这将是显而易见的。

2

也许下面是有用的?:

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

这是很好的和新的给我。 Ty :) – Mickel 2009-08-26 16:57:53