3

我是 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)调用服务器端代码(聊天类)..
我认为解决方案与signalr无关。

如果上面的描述还不够,那么你可以在这里查看我的代码

编辑: 用户.cs

public class User
{
    public User(string ConnID, string Username)
    {
        Name = Username;
        ConnectionID = ConnID;
    }
    public string Name { get; set; }
    public string ConnectionID { get; set; }
}
4

1 回答 1

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
    }
});
于 2012-12-08T11:52:01.490 回答