У меня есть таблица, «должны» быть переплетены с результатом в формате JSON:связывания данных JSON с помощью нокаута
<table>
<thead>
<tr>
<th>
Id
</th>
<th>
Number
</th>
<th>
Name
</th>
<th>
Password
</th>
<th>
Role
</th>
</tr>
</thead>
<tbody data-bind="foreach: Employees">
<tr>
<td>
<span data-bind="text: EmployeeId"></span>
</td>
<td>
<span data-bind="text: EmployeeNumber"></span>
</td>
<td>
<span data-bind="text: EmployeeName"></span>
</td>
<td>
<span data-bind="text: EmployeePassword"></span>
</td>
<td>
<span data-bind="text: EmployeeRole"></span>
</td>
</tr>
</tbody>
мой нокаут сценарий, который заключается в следующем:
<script type="text/javascript">
$(document).ready(function() {
var viewModel = {};
var data = $.getJSON("Employees.json", function (data) {
viewModel.model = ko.mapping.fromJSON(data);
ko.applyBindings(viewModel);
}
);
});
</script>
Я пытаюсь связать стол с результатом json, но он не работает, где может быть проблема ... вот мой json в контроллере:
public ActionResult GetEmployees()
{
var r = db.Employees;
var s = new
{
Employees = r.Select(x => new { empId = x.Id, empName = x.Name, empNumber = x.Number, empPassword = x.Password, empRole = x.Role }).ToList()
.Select(x => new
{
EmployeeId = x.empId,
EmployeeName = x.empName,
EmployeeNumber = x.empNumber,
EmployeePassword = x.empPassword,
EmployeeRole = x.empRole
}).ToArray(),
};
return Json(s, JsonRequestBehavior.AllowGet);
}
UPDATE: вот мой образец вернулся JSon данные:
{"Employees":[{"EmployeeId":1,"EmployeeName":X","EmployeeNumber":"1","EmployeePassword":"x","EmployeeRole":"User"},{"EmployeeId":10,"EmployeeName":"S","EmployeeNumber":"21","EmployeePassword":"s","EmployeeRole":"Admin"}]}
ko.applyBindings (viewModel.Model); Кроме того, предложение @ madcapnmckay о запуске dev-консоли отлично. Сообщения об ошибках нокаута полезны. Или viewModel = ko.mapping.fromJSON (данные); – kenny
Что я должен изменить? я не получил то, что вы прокомментировали ... –
Если вы не получаете ошибок в консоли разработчика, F12 во многих браузерах, не уверен. Похоже, что то, что вы выше, не будет связывать, и я бы ожидал ошибок. Либо один из двух изменений в вашем коде, который я оказал, я бы подумал, что он будет привязан. – kenny