2009-08-26 179 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