嗨我使用SignalR调用一个方法,我想在javascript中使用返回值作为foreach循环来创建表
中心:
public void OrderAllSales()
{
List<string> tableValue = new List<string>();
/*
Do something and fill tableValue with
<tr>
<td>....</td>
<td>....</td>
</tr>
block for every item
*/
Clients.All.SendListOfAll(tableValue);
}
CSHTML
<table class="table">
<thead>
<tr style="margin-left: 10px">
<td>Price (₺)</td>
<td>BTC (฿)</td>
<td>Total (₺)</td>
</tr>
</thead>
<tbody id="HistoryGrid">
</tbody>
</table>
JavaScript:
<script>
$(document).ready(function () {
var bitcoinHub = $.connection.bitcoinHub;
$.connection.hub.start().done(function () {
$("#allSales").click(function () {
bitcoinHub.server.orderAllSales();
});
bitcoinHub.client.sendListOfAll(function (x) {
x.forEach(Create);
});
});
function Create(item) {
$("#HistoryGrid").prepend(item);
}
});
</script>
我可以调用服务器方法,但我无法使用此返回值来创建表
答案 0 :(得分:0)
我弄清楚了。
错误代码:
bitcoinHub.client.sendListOfAll(function (x) {
x.forEach(Create);
});
正确代码:
bitcoinHub.client.sendListOfAll = function (x) {
x.forEach(Create);
};
在客户端尝试catch返回方法时,错误是使用()而不是=。