将一个 Ajax 中的多个序列化表单发布到控制器 C#?



我想立即使用序列化概念发布到控制器的 2 个表单。是否可以将一个 ajax 中的更多序列化表单发送到控制器? 如果是,我该怎么做?

这是我的 Ajax/JavaScript:

$('#btnSave').click(function () {
debugger;
var vDataHead = $('#frmHeader').serialize();
var vDataDet = $('#frmDetail').serialize();

if ($("#txtCompanyID").val() == "" || $("#txtBranchID").val() == "" || $("#txtUserID").val() == "")
{
debugger;
Swal.fire('Error!', 'Please Fill All Fields to Save Budget Setting!', 'error');
}
else
{
debugger;
$.ajax({
url: '/MappingUserItemGroup/SaveData',
data: { dataHead: vDataHead, dataDet: vDataDet },
method: 'POST',
success: function (mdl)
{
debugger;
if (mdl == "Exist")
{
debugger;
Swal.fire('Error!', 'Setting Mapping User Item Group Already Exist ', 'error');
}
else if (mdl == "Berhasil")
{
debugger;
Swal.fire('Success', 'Setting Mapping User Item Group Was Successfully Saved!', 'success').then(() => { loadTable();});
}
else if (mdl == "Gagal")
{
debugger;
Swal.fire('Error!', 'Setting Mapping User Item Group Failed To Be Saved!', 'error');
}
},
error: function (mdl)
{
debugger;
}
});
}
});

这是我的控制器:

public ActionResult SaveData(MapingUIGH dataHead, List<MapingUIGD> dataDet)
{
//do something here with that data serialize
}

您将两个表单值作为对象传递,因此请在服务器端创建一个与该对象匹配的视图模型

public class MappingViewModel
{
public MapingUIGH DataHead { get; set; }
public List<MapingUIGD> DataDet { get; set; }
}

并将其用作操作方法的参数,因此从 UI 发布的数据格式与参数匹配

public ActionResult SaveData(MappingViewModel viewModel)

最新更新