ASP.Net WebAPI 返回列表中的空对象
Posted
技术标签:
【中文标题】ASP.Net WebAPI 返回列表中的空对象【英文标题】:ASP.Net WebAPI Returning Empty Objects In List 【发布时间】: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);
谢谢
【问题讨论】:
我的建议对你有用吗? 是的 - 我不敢相信我错过了。感谢您的帮助。 【参考方案1】:试试下面的,
一个。公开属性。
public int ID get; set;
b.返回值如下图,
return Request.CreateResponse(HttpStatusCode.OK, lineElementList);
c。确保方法中有 HttpGet 属性。
[HttpGet]
public HttpResponseMessage Methodname()
【讨论】:
【参考方案2】:我收到此错误是因为我缺少 get;放; 在属性中。
改变:
公共整数 ID;
收件人:
公共 int ID 获取;放;
【讨论】:
以上是关于ASP.Net WebAPI 返回列表中的空对象的主要内容,如果未能解决你的问题,请参考以下文章
对“asp.net core WebApi”的 ajax 调用返回一个奇怪/奇怪的值
ASP.NET MVC 向 JS 发送类对象的问题 - JS 数组中的空对象