Knockout.js applyBindings和getJson没有显示?

时间:2017-03-17 08:35:42

标签: knockout.js

我是淘汰赛的新手,我试图显示一个包含mt DB数据的表格。 在我的控制器(DriversController)中,我有这个代码:

 public JsonResult GetAllDrivers()
    {
        db.Configuration.ProxyCreationEnabled = false;
        List<Driver> drivers = db.Drivers.ToList();
        return Json(drivers, JsonRequestBehavior.AllowGet);
    }

在我的索引HTML(CSHTML)中:

 <table>
                        <thead>
                            <tr>
                                <th>Driver Id</th>
                                <th>Name</th>
                            </tr>
                        </thead>
                        <tbody data-bind="foreach: drivers">
                            <tr>
                                <td data-bind="text: DriverId"></td>
                                <td data-bind="text: firstName"></td>
                            </tr>
                    </table>

“text:”中的字段与数据库表格中的字段完全相同。

我的viewModel:

<script>
                        var drivers

                        $.getJSON("/Drivers/GetAllDrivers", function (data) {
                            drivers = data
                            ko.applyBindings(drivers)
                        })
                    </script>
我跟着很多教程并完成了他们的所作所为,但不知何故没有工作:(我得到一个空白页面,只会加入表格标题。 救命?感谢

1 个答案:

答案 0 :(得分:1)

您的数据必须如下

{drivers:[{DriverId:1,firstName:'test'}]}

所以请将您的代码更改为:

ko.applyBindings({drivers:data})