【发布时间】:2017-02-27 14:19:26
【问题描述】:
型号
public class modelVenta {
public int idvendedor { get; set; }
public int idcliente { get; set; }
public int idproducto { get; set; }
public int cantidad { get; set; }
public decimal precio { get; set; }
public DateTime fecha { get; set; }
}
public class modelVentas {
public List<string> modeloVenta { get; set; }
}
控制器
[HttpPut]
[Route("api/ventas/Add")]
public HttpResponseMessage putVentas( List<modelVentas> data)
{
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
}
JSON
var data = [{
"idvendedor": 1,
"idcliente": 1,
"idproducto": 1,
"cantidad": 2,
"precio": 12.0,
"fecha": 1476445327124
}, {
"idvendedor": 1,
"idcliente": 1,
"idproducto": 2,
"cantidad": 4,
"precio": 23.0,
"fecha": 1476445327124
}, {
"idvendedor": 1,
"idcliente": 1,
"idproducto": 1,
"cantidad": 4,
"precio": 35.0,
"fecha": 1476445327124
}];
发送数据
$http.put("http://localhost:54233/api/ventas/Add", JSON.stringify({
modeloVenta: data
})).then(function () {
toastr.info('Elemento insertado correctamente');
});
我在http://jsonlint.com/ 中验证 Json 并且没问题,但是每次我从 AngularJS、api 控制器 web 发送时,总是收到 Null。 请社区,有人可以帮我解决这个问题吗?
【问题讨论】:
-
您的
putVentas方法似乎没有做任何事情,而是返回 HTTP 200 状态代码?还是只是为了测试?您能否澄清一下 - 您是说List<modelVentas> data参数是null并且您想知道为什么吗? -
看起来你正在发送一个列表,但接收到一个列表列表,也许这是你的问题。
-
我同意@OmriAharon - 您在 API 中收到的类型是
List<List<string>>。这不需要是List<modelVenta>吗? -
return HTTP 200 状态码是假的,但是当我在控制器上进行调试时,数据总是为空
-
尝试用
List<modelVenta> data替换List<modelVentas> data
标签: c# angularjs arrays json asp.net-web-api2