jquery - ASP.Net WebAPI 返回列表中的空对象

标签 jquery asp.net ajax json

我正在向 WebAPI 发出 GET 请求并返回一个对象,如下所示: http://s12.postimg.org/leoykz3rh/debug1.png

但是,当我在客户端检索对象时,Elements 中的对象是空的,没有结构: http://s12.postimg.org/cie6h1d59/debug2.jpg

这是 Elements 中包含的对象的类定义

public class LineElement
    {
        int ID { get; set; }
        int X { get; set; }
        int Y { get; set; }
        int W { get; set; }
        int H { get; set; }
        string Code { get; set; }
        string Color { get; set; }

        public LineElement(int pID, int? pX, int? pY, int? pW, int? pH, string pCode, string pColor)
        {
            ID = pID;
            X = Convert.ToInt16(pX);
            Y = Convert.ToInt16(pY);
            W = Convert.ToInt16(pW);
            H = Convert.ToInt16(pH);
            Code = pCode;
            Color = pColor;
        }
    }

它们被添加到元素中,如下所示:

var elemList = new List<LineElement>(); // list of LineElements to return
for (var i = 0; i < r.Count(); i++)
                {
                    elemList.Add(new LineElement(r[i].ID, r[i].P_L, r[i].P_T, r[i].P_W, r[i].P_H, r[i].Code.ToString(), r[i].GetSColor()));
                }

正如您从 VS 调试器屏幕截图中看到的,该对象在服务器端看起来很好。关于序列化或反序列化期间可能发生的情况有什么想法吗?

此外,我还通过使用 IHttpActionResult 将序列化传回客户端来测试序列化,这给出了相同的结果。

return Ok(response);

谢谢

最佳答案

尝试以下操作,

a.公开属性(property)。

  public int ID { get; set; }

b.返回值如下所示,

 return Request.CreateResponse(HttpStatusCode.OK, lineElementList);

c.确保该方法具有 HttpGet 属性。

    [HttpGet]
    public HttpResponseMessage Methodname()
    {

关于jquery - ASP.Net WebAPI 返回列表中的空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28953090/

相关文章:

c# - 使用数据源将数据绑定(bind)到列表框

mysql - 数据库、表和列的不同字符集和排序规则会导致性能问题吗?

javascript - 通过 API 获取 Instagram 当前的点赞和关注限制

php - .text() jquery 函数删除月份中的前导零

div 的 JQuery 副本

c# - 你认识 16 位数字的时间戳吗?

javascript - 如何判断jquery ajax返回值还是null

php - 如何在 Ajax 和 PHP 中创建自动完成搜索?

javascript div 关闭问题

javascript - jQuery 动态对齐