1
Im新的淘汰賽,即時通訊試圖顯示一個包含mt數據庫的數據表。 在我的控制器,(DriversController),我有這樣的代碼:Knockout.js applyBindings和getJson不顯示?
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>
在 「文本:」 字段是完全一樣,他們都在數據庫表。
我的視圖模型:
<script>
var drivers
$.getJSON("/Drivers/GetAllDrivers", function (data) {
drivers = data
ko.applyBindings(drivers)
})
</script>
ID,後面有很多的教程,做他們做了什麼,但不知何故沒有什麼工作:(我得到一個空白頁,只有cointains表頭 幫助的感謝
?
瀏覽器控制檯中的任何錯誤?記錄數據可能它是空的... console.info(data) – tire0011
'foreach:drivers'意味着你的模型包含一個名爲'drivers'的屬性(也是一個數組),但事實並非如此,因爲你的根viewmodel本身*是驅動程序的數組。或者換成'foreach:$ root'或者改變你的模型使驅動程序數組在'drivers'屬性中:'ko.applyBindings({drivers:drivers})' – haim770