显示div中的用户名列表

时间:2012-12-08 10:34:11

标签: c# javascript jquery asp.net signalr

我是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; }
}

1 个答案:

答案 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
    }
});