所以我必须调用一个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