我是jQuery的新手。在我的项目中,我创建了一个类User
,其中的代码如下所示:
static ConcurrentDictionary<string, User> _users = new ConcurrentDictionary<string, User>();
//
// some function to add values to _users list
//
public List<User> GetConnectedUsers()
{
return _users.Values.ToList();
}
我想在div
#showUsernames中显示这个值列表。如何使用jQuery做到这一点?
我尝试了下面没有显示任何内容
/*display your contacts*/
$('#showUsernames').append(function(){
chat.server.getConnectedUsers();
});
其中chat.server
(signalr)调用服务器端代码(Chat类)..
我认为解决方案与信号器无关。
如果上述说明不够,那么您可以浏览我的代码 here
编辑: User.cs
public class User
{
public User(string ConnID, string Username)
{
Name = Username;
ConnectionID = ConnID;
}
public string Name { get; set; }
public string ConnectionID { get; set; }
}
答案 0 :(得分:3)
对服务器的调用是异步的(就像所有javascript ajax调用一样)。附加.done处理程序以获取结果(这完全在文档https://github.com/SignalR/SignalR/wiki/SignalR-JS-Client-Hubs中)。
将您的代码更改为:
chat.server.getConnectedUsers().done(function(users) {
for(var i = 0; i < users.length; ++i) {
// Write javascript here to append users to the list
}
});