Я пытаюсь отправить вложенный объект на мой контроллер MVC через AJAX.
Мой набор данных вроде ниже.
function GetValuesForSave() {
var model = {
Partycode: "x",
DocDate: new Date(),
DocNo: 1,
SaleItems: {
StockCode:'',
Amount: 1,
DiscPerc: 1,
DiscAmount: 1,
Qty: 1,
Rate: 1,
Description: '',
Unit: ''
}
}
return model;
}
Мой звонок по Ajax:
var datatosend=GetValuesForSave();
$.ajax({
url: "/Sales/SaveSales/",
data: datatosend,
success: function() {
alert("success");
},
error: function() {
alert("failure");
}
});
Структура моей модели:
public class SalesViewModel
{
public string Partycode { get; set; }
public DateTime DocDate { get; set; }
public int DocNo { get; set; }
private SaleItem _saleItem;
public SaleItem SaleItems { get; set; }
}
public class SaleItem
{
public string StockCode { get; set; }
public string Description { get; set; }
public string Unit { get; set; }
public double Qty { get; set; }
public double Rate { get; set; }
public double DiscPerc { get; set; }
public double DiscAmount { get; set; }
public double Amount { get; set; }
}
Мой метод управления:
public ActionResult SaveSales(SalesViewModel m)
{
var data = sale;
return View();
}
Проблема, с которой я столкнулся, в состоянии получить основные детали модели от контроллера, но поля вложенных объектов равны нулю, если я что-то упустил.
Нужно ли что-нибудь сделать с GET SET вложенного свойства. Я пытался отправить данные в виде строки JSON, но получаю тот же результат.
Пожалуйста, найдите журнал консоли Chrome