所以我必須調用一個JsonResult一個JSONjQuery和MVC .NET:動作返回JSON返回 「對象」
類:
public class Client{
public int Id {get;set;}
public string Name {get;set;}
}
的動作被稱爲:
public JsonResult Index(int Id)
{
var a = context.Clients.ToList();
return Json(a, JsonRequestBehavior.AllowGet);
}
這是電話
<script type="text/javascript">
$(document).ready(function() {
var link;
$('a.client-list').click(function() {
link= $(this);
$.ajax({
url: '/client/index?Id=4455',
dataType: 'json',
success: function (data) {
$.each(data, function (id, val) {
alert(id.toString() + ' ' + val.toString());
});
}
});
return false;
});
});
</script>
所以我的問題是,我知道它cuz它通過循環,我把在警報返回的東西。但彈出這個數值就是這個
0 [object Object]
1 [object Object]
我不知道爲什麼它不能正確讀取它。查詢順便說一句的值是
1 TestCompany1
2 TestCompany2
我錯過了什麼jquery?
您確定您收回的'TestCompany1'和'TestCompany2'值是字符串嗎?如果它們是任何其他類型的對象(除了可以轉換爲字符串的對象),您的'.toString()'不會知道如何將其轉換爲字符串。 – 2012-08-16 21:41:44
每個'val'都不是'Client'對象嗎?所以也許它會是'val.Name'? – MrOBrian 2012-08-16 21:44:25
好吧,Id是一個int,而Name是字符串屬性。我以爲我可以只傳遞一個IEnumerable或一個var到json,getjson會照顧它呢?沒有? @MrOBrian我也試過,仍然是相同的。 – gdubs 2012-08-16 22:00:21