Я пытаюсь передать некоторые значения объекта из представления MVC в мой контроллер. Но возникают проблемы, что значения не могут быть переданы моему контроллеру, поскольку он продолжает жаловаться, что значения не передаются? Есть ли что-то, что мне нужно обратить внимание на форматирование типов объектов или некоторые настройки кодирования здесь?
Код от контроллера
public class saveViewModel
{
public List<NgpartDetails> ngpartDetails { get; set; }
public List<GeneralDetails> generalDetails { get; set; }
}
[HttpPost]
public void MyActionSubmit(saveViewModel viewModel)
{
foreach (var ngpartdetail in viewModel.ngpartDetails)
{
NgpartDetails Ng1 = new NgpartDetails { Number = ngpartdetail.Number,
Quantity = ngpartdetail.Quantity, Reason = ngpartdetail.Reason, Nghandling = ngpartdetail.Nghandling,
Remarks = ngpartdetail.Remarks };
efngpartdetails.NgpartDetail.Add(Ng1);
}
efngpartdetails.SaveChanges();
}
код JavaScript
$("body").on("click", "#buttonSubmit", function () {
console.log("button submit clicked")
var generalDetails = [];
generalDetails.push({
Date: $("#date").val(),
LotNo: $("#lotno").val(),
PartName: $("#partname").val(),
LotProductionDate: $("#lotproductiondate").val(),
Number: $("#partno").val(),
ImportQty:$("#importquantity").val()
})
var ngpartDetails = [];
$("#ngpartdetails TR.data-row").each(function () {
var row = $(this);
ngpartDetails.push({
Number : row.find("TD").eq(0).html(),
Quantity : row.find("TD").eq(1).html(),
Reason : row.find("TD").eq(2).html(),
Nghandling : row.find("TD").eq(3).html(),
Remarks : row.find("TD").eq(4).html()
});
});
var viewModel = {
ngpartDetails: ngpartDetails,
generalDetails: generalDetails
}
$.ajax({
type: "POST",
url: "/Home/MyActionSubmit",
data: "{'viewModel':" + JSON.stringify(viewModel) + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert("Successfully sent ngpartdetails to controller.");
},
error: function () {
alert("Passing data to controller failed");
}
});
});
Я ожидал, что данные viewModel
будут успешно переданы в контроллер, но при отладке он говорит, что viewModel содержит нулевые объекты на моем контроллере.