Dear team i have array of object which i am trying to send to controller as a list , but in controller if i use(List<model> data) its is always null, but if i use (string data ) it has the value from the ajax call
the below is my ajax call
function fnNExt() {
var dataToSave = [];
$('#insurancetable tbody tr').each(function () {
var empid = '@ViewBag.empid';
var empInsuranceid = $(this).find('[name="chkSelect"]').val();
var empinsuranceselectid = $(this).find('[name = "chkSelect"]').attr('id');
var insuranceCmts = $(this).find('[name="txtNominee"]').val();
dataToSave.push({ EmployeeId: empid, IsRelationshipChecked: empInsuranceid, RelationshipComments: insuranceCmts, EmployeeInsuranceId: empinsuranceselectid });
console.log("111");
//console.log(items);
});
var items = JSON.stringify(dataToSave);
var empid = 1;
console.log(items);
$.ajax({
type: "POST",
dataType: "JSON",
url: "/HRValidation/SaveInsuranceNominee",
data: "emp=" +items,
success: function (response) {
console.log(response);
},
error: function (error) {
console.log(response);
}
});
}
on console the items variable i am getting this
[{"EmployeeId":"1","IsRelationshipChecked":"null","RelationshipComments":"null","EmployeeInsuranceId":"2"},{"EmployeeId":"1","IsRelationshipChecked":"null","RelationshipComments":"null","EmployeeInsuranceId":"3"}]
When my controller is as follows i am getting the data from ajax to the controller
public IActionResult SaveInsuranceNominee(string emp)
{}
BUt the problem is i need to loop through each data and update in the db
i want to write my controller as below
public IActionResult SaveInsuranceNominee(List<InsuranceValidateVM> emp)
{
foreach(var items in emp)
{
//update db
}
}
When i use the above method the List<InsurancevalidateVM> emp is always null or count is 0
Please help
My model is as follows
public class InsuranceValidateVM
{
public int Employeeid { get; set; }
public int employeeInsuranceId { get; set; }
public int ischecked { get; set; }
public string nomineeName { get; set; }
}