【发布时间】:2016-08-03 13:28:50
【问题描述】:
我想用序列化表单数据映射数据对象列表,我的后端是.Net,我有一个模型类来映射参数
这是我的 jQuery 对象
var MultiAssignGarageCampaign = [];
var obj = {};
obj.GarageID = 15;
obj.CampaignID = 8;
MultiAssignGarageCampaign.push(obj);
这是我的ajax请求
var data = {
'MultiAssignGarageCampaign' : MultiAssignGarageCampaign
};
data = $form.serialize() + '&' + $.param(data);
$.ajax({
type: 'post',
url: '/Booking/Create',
data: data ,
dataType: 'json'
}).done(function () {
$(this).addClass("done");
});
这是我的后端模型
public class BookingViewModel
{
public IList<GeneralCampaign> MultiAssignGarageCampaign { get; set; }
}
当我像这样对查询进行硬编码时,它可以工作
//data = $("#frmCreateBooking").serialize() + '&MultiAssignGarageCampaign[0].GarageID=15&MultiAssignGarageCampaign[0].CampaignID=8';
【问题讨论】:
-
你不是也需要序列化
MultiAssignGarageCampaign吗? -
您的对象必须采用特殊格式。
If the object passed is in an Array, it must be an array of objects in the format returned by .serializeArray()。检查它here。 -
您的服务器操作方法参数如何?你的表格是什么?
-
你需要uriencoded数据吗?您的表单与工作选择器中指向的表单相同吗?有什么问题?
标签: c# jquery ajax asp.net-mvc serialization