Я играю с SignalR и KnockoutJS и, похоже, не могу найти простой способ получить массив из базы данных, представленной с использованием инфраструктуры MVC4.
У меня нет проблем с отправкой одного объекта с сервера - но когда я пытаюсь отправить массив, я застреваю.Надеюсь, кто-то с большим опытом может заметить, вероятно, очевидные ошибки, которые я делаю, и показать, как это следует делать (JavaScript не является моей сильной стороной).Насколько я понимаю, проблема заключается в отображении данных, передаваемых с сервера.Любая помощь приветствуется!
Центр SignalR (заказы - это простая таблица с Id и именем)
public class feedHub : Hub
{
private dataContext db = new dataContext();
public void GetAll()
{
var orders = db.orders.ToArray();
Clients.getData(orders);
}
}
Простой HTML-код для представления заказов;
<div id="Demo">
<div data-bind="foreach: orders">
<div data-bind="html: Id"></div>
<div data-bind="html: Name"></div>
</div>
</div>
JavaScript
<script type="text/javascript">
var viewModel = {
orders: ko.observableArray(orders)
};
ko.applyBindings(viewModel, $("#Demo")[0]);
$(function () {
// Client side version of the feebHub class
var hubcon = $.connection.feedHub;
// getData called from server
hubcon.getData = function (data) { viewModel.orders(data) };
// Start connection and call getAll
$.connection.hub.start(function () { hubcon.getAll(); });
});
</script>