【问题标题】:ASP.Net WebAPI Returning Empty Objects In ListASP.Net WebAPI 返回列表中的空对象
【发布时间】:2015-05-11 06:19:27
【问题描述】:

我正在向 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;
        }
    }

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

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);

谢谢

【问题讨论】:

  • 我的建议对你有用吗?
  • 是的 - 我不敢相信我错过了。感谢您的帮助。

标签: jquery asp.net ajax json


【解决方案1】:

试试下面的,

一个。公开属性。

  public int ID { get; set; }

b.返回值如下图,

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

c。确保方法中有 HttpGet 属性。

    [HttpGet]
    public HttpResponseMessage Methodname()
    {

【讨论】:

    【解决方案2】:

    我收到此错误是因为我缺少 { get;放; } 在属性中。

    改变:

    公共整数 ID;

    收件人:

    公共 int ID { 获取;放; }

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 2017-07-22
      • 2018-06-11
      • 2017-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多