你好,我有一个类似的模型
public class Delivery
{
public string Description{get,set}
public string Quantity {get,set}
public Date Date{get,set}
public Int LoactionId {get,set}
}
我有一个带有数据的html动态生成表,我使用ajax将这些数据发送到控制器,代码是
function Save(){
var delivery =[];
$('#table2 tbody').each(function () {
delivery.push({
Description:$(this).closest('tr').find('#description').text();
Quantity:$(this).closest('tr').find('input[name="last_name[]"]').val();
Date: $(this).closest('tr').find('.datepicker_recurring_start').val();
LocationId:$(this).closest('tr').find("#sel option:selected").val();
});
$.ajax
({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Save/Create/",
data: JSON.stringify({ Delivery: delivery }),
dataType: "json",
success: function (data) {
alert('Success')
},
error: function (x, e) {
alert('Failed')
}
});
}
我的行动方法是
public JsonResult Create(List<Delivery> Delivery )
{
}
但它没有工作它没有从表中获取数据。我不知道我缺少什么或我的代码是错误的。如果有任何方法我可以逐个传递而不使用数组,任何人都可以建议我这样做。我还添加了一个动态表的小提琴,现在有些是空的,但请注意每个都有值
感谢您的帮助。
答案 0 :(得分:0)
首先我会测试一个不是从foreach循环生成的简单数组,只是为了检查问题所在。例如:
var delivery = [
{Description:'1', Quantity:1, Date:'03.02.2017', LocationId:2 },
{ Description:'1', Quantity:1, Date:'03.02.2017', LocationId:2 }
];
然后我会将后端方法中的参数类型更改为数组,如下所示:
public JsonResult Create(Delivery[] Delivery)
{
}