【发布时间】:2018-09-04 08:16:58
【问题描述】:
我有一个用javascript创建的模型如下
function Vehicle() {
this.type = 'Vehicle';
this.data = {
VehicleKey: null
}
};
我在 c# 中创建了一个类似的模型,如下所示
public class Vehicle
{
public string VehicleKey { get; set; }
}
现在我正在 javascript 中构建一个 VehicleKeys 数组,如下所示
function GetVehicleDetails(inputarray) {
var vehicleKeys = [];
for (var i = 0; i < inputarray.length; i++) {
var vehicleObject = new Vehicle();
vehicleObject.data.VehicleKey = inputarray[i].VehicleKey ? inputarray[i].VehicleKey : null;
vehicleKey.push(vehicleObject.data);
}
return vehicleKeys ;
}
我打电话给$.post(url, data)如下
var objectToSend = GetVehicleDetails(selectedVehicles);
var data = JSON.stringify({
'vehicles': objectToSend
});
$.post(url, data)
.done(function (result) {
if (result) {
download(result, 'VehicleReport.xlsx', { type: 'application/octet-stream' });
console.log("Report created successfully");
}
else {
console.log("Error creating report");
}
}).fail(function (error) {
console.log("Error creating report.");
});
MVC 控制器有一个方法可以接受来自 javascript 的多个 Vehicles 和多个 VehicleKeys
public byte[] CreateVehicleReport(List<Vehicle> vehicles)
{
//Generation of report and pass it back to javascript
}
在这里,我可以在 javascript 中为Vehicles 提交数据为 10 和 11,但是当它捕获 c# 时,计数为 0。
任何帮助将不胜感激。
【问题讨论】:
-
指定绑定类型(frombody) c# side
-
vehicles参数仍然显示计数为 0。 -
你能显示你的json值吗
-
"{"vehicles":[{"VehicleKey":"10"},{"VehicleKey":"11"}]}". -
你的 json 格式是错误的,我认为 $.post 没有将 Content-Type 发布为 json。
标签: javascript c# model-view-controller