Я написал простое приложение для получения данных JSON с сервера
Код C #
общедоступное чтение JsonResult ()
{
var products = db.Products;
вернуть Json (GetProducts (), JsonRequestBehavior.AllowGet);
}
public IEnumerable<Product> GetProducts()
{
var data = db.Products.ToList();
return (data);
}
В представлении я написал следующее, чтобы связать данные модели представления.
<div>
<table data-bind="with: products">
<thead><tr><th>From</th><th>To</th><th>Subject</th></tr></thead>
<tbody data-bind="foreach: Object">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: name"></td>
<td data-bind="text: description"></td>
</tr>
</tbody>
</table>
</div>
<script type="text/javascript">
function ProductsViewModel() {
var self = this;
self.products = ko.observable();
$.getJSON("http://localhost:50998/Home/Read", function (data) {
self.products = JSON.parse(data);
});
}
ko.applyBindings(new ProductsViewModel());
</script>
Возвращение данных Json из действия выглядит следующим образом
[{"ID":1,"Name":"Roger","Description":"Test1"},{"ID":2,"Name":"Roger2","Description":"Test2"}]
После того, как я проанализировал JSON, я не могу использовать проанализированный объект для обновления наблюдаемого.
Кто-нибудь знает, почему это происходит?