将SignalR中的对象列表发送到JavaScript方法

我在ASP和SignalR中编写多人游戏(Monopoly)。 我已停在页面上,其中包含一个包含游戏列表的表格。 我不知道我是否正确行事:)所以,这是我到目前为止所做的事情,我需要帮助继续前进:

我用空表创建了GamesList WebForm页面:

# Number of players Players Theme Join

我的目标是在页面加载时填充此表。 数据应由集线器提供:

GamesListHub.cs

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.AspNet.SignalR; using Newtonsoft.Json; namespace Obipoly.Hubs { public class GamesListHub : Hub { public List games = new List() { new GamesItem(2, "Theme1", "User1"), new GamesItem(4, "Theme3", "User2") }; //just for tests public void gamesListUpdated() { string gamesString = JsonConvert.SerializeObject(games); Clients.All.updateGamesList(gamesString); //pass games list } public void addNewGame(int numberOfPlayers, string gameTheme, string hostPlayer) { games.Add(new GamesItem(numberOfPlayers, gameTheme, hostPlayer)); string gamesString = JsonConvert.SerializeObject(games); Clients.Others.updateGamesList(gamesString); } public void getListOfGames() { string gamesString = JsonConvert.SerializeObject(games); Clients.Caller.updateGamesList(gamesString); } } } 

这是我在GamesList.aspx中客户端的javascript代码:

  $(function () { var gamesListHub = $.connection.gamesListHub; gamesListHub.client.updateGamesList = function (games) { console.log(games); }; $.connection.hub.start().done(function () { gamesListHub.server.getListOfGames(); }); });  

问题是我得到了这个:“[{} {}]”。 如何将此列表从signalR传递给JS方法以填充表?

谢谢。

解决了:

 var gamesJson = $.parseJSON(games); for (var i = 0; i < gamesJson.length; i++) { console.log(gamesJson[i].gameTheme); }