views:

83

answers:

2

Whenever i return a list collection from a controller through Json. Im unable to get that list but if i just return a string from controller its working fine. In View i have

    <script type="text/javascript" language="javascript">
        $(function () {
            $('#btnFillList').click(function () {
                alert("btnclick");

                var URL = '<%= Url.Action("JsonFunc2","Customer") %>';
                $.post(URL, null, function (data) {
                    for (var i = 0; i < data.length; i++) {
                    }

                });
            });
        });      
    </script>

<input type="submit" id="btnFillList" value="Load" />

In Controller i have

public ActionResult JsonFunc2()
        {

            var cust = _db.tblCustomers.ToList();
            return Json(cust);
        }
A: 

Try using eval(data) before looping

 $.post(URL, null, function (result) {
       var data = eval('(' + result + ')');
       for (var i = 0; i < data.length; i++) {

       }
Amitabh
+1  A: 

Try returning an array instead of list:

var cust = _db.tblCustomers.ToArray();
return Json(cust);
Darin Dimitrov