I have following code. but not update the view page.
In my app.js
// Hub Callback: Update User List
hub.client.updateUserList = function (userList) {
viewModel.setUsers(userList);
};
In my viewmodel.js
var viewModel = {
Users: ko.mapping.fromJS([]),
}
viewModel.setUsers = function (userArray) {
ko.mapping.fromJS(userArray, viewModel.Users);
};
My SignalR hub class
private void SendUserListUpdate()
{
Users.ForEach(u => u.InCall = (GetUserCall(u.ConnectionId) != null));
Clients.All.updateUserList(Users);
}
This signalR SendUserListUpdate() correctly update the users list. But not update in below index page.
<div class="well user-list">
<ul class="nav nav-list">
<li class="nav-header">Online Users <small data-bind="text: Users().length"></small></li>
<!-- ko foreach: Users -->
<li class="user" data-bind="attr: { 'data-cid': ConnectionId, 'title': Username }">
<a href="#">
<!-- only using an a here for bootstrap styling -->
<div class="username" data-bind="text: Username"></div>
<div class="helper" data-bind="css: $parent.getUserStatus($data)"></div>
</a>
</li>
<!-- /ko -->
</ul>
</div>
scripts I used.
<script src="~/Scripts/adapter.js"></script>
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/Scripts/knockout-3.4.2.js"></script>
<script src="~/Scripts/knockout.mapping-latest.js"></script>
<script src="~/Scripts/alertify.min.js"></script>
<script src="~/Scripts/WebRtcDemo/bootstrap.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.3.0.min.js"></script>