Вам необходимо передать объект JSON при вызове AJAX.
Я обычно использую массив, где вы использовали IList<T>
в своем ItemViewModel
- я думаю, что это просто упрощает историю сериализации.
Вот пример кода для начала.
$(document).ready(function () {
$("button").click(function () {
// build the json object from the elements in the form...
// this is a sample object that would work well with your current model...
var payload = {
"Id": 5,
"JobId": 6,
"ItemId": "Item0987",
"ItemName": "Some Sample Item Name",
"MFGNumber": "B1235456",
"Parts": [
{ "Id": "PartA", "PartName": "Sample Part A" },
{ "Id": "PartB", "PartName": "Sample Part B" }
]
};
$.ajax({
url: "@IGT.baseUrl/JODetails/SpecialOrderSummary",
data: JSON.stringify(payload),
contentType: "application/json; charset=utf-8",
type: "POST",
success: function (data) {
console.log(data);
},
error: function (req, status, err) {
console.error(err);
},
statusCode: {
404: function() {
console.error( "page not found" );
},
500: function() {
console.error( "server error" );
},
}
});
});
});
Я добавил некоторую обработку ошибок в вызов $.ajax
, чтобы помочь вам выявить другие проблемы, помимо сериализация формы.