首页 > 解决方案 > SignalR 对象未定义列表

问题描述

我正在尝试在控制台上显示对象列表但它不显示对象...

在此处输入图像描述

这是我用来显示从服务器接收到的对象的 javascript:

connection.on("ReceiveLog", function (chatMessages) {

console.log(chatMessages);

for (var item in chatMessages) {

    // work with key and value
    var encodedMsg = item.User + " says " + item.Message;
        var li = document.createElement("li");
        li.textContent = encodedMsg;
        document.getElementById("messagesList").appendChild(li);
} });

服务器正在发送 ChatMessage 列表。这是 ChatMessage 类:

public class ChatMessage
{
    string User { get; set; }
    string Message { get; set; }

    public ChatMessage(string user, string message)
    {
        this.User = user;
        this.Message = message;
    }
}

为什么我的物品完全破碎了?当我在服务器端破坏代码时,它确实正确发送了列表。问题似乎来自javascript,或者我需要从服务器端序列化?

标签: signalrsignalr-hubsignalr.client

解决方案


我需要像这样设置对象 Public 的所有属性:

public class ChatMessage
{
    public string User { get; set; }
    public string Message { get; set; }

    public ChatMessage(string user, string message)
    {
        this.User = user;
        this.Message = message;
    }
}

现在可以了。


推荐阅读