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

时间:2015-03-09 22:41:54

标签: 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;
        }
    }

它们被添加到 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);

由于

1 个答案:

答案 0 :(得分:4)

尝试以下方法,

一个。公开财产。

  public int ID { get; set; }

湾返回值,如下所示,

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

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

    [HttpGet]
    public HttpResponseMessage Methodname()
    {