Предполагая, что TuitionDTO
является параметром действия вашего контроллера, я бы попробовал это (просто чтобы увидеть, правильно ли привязываются значения): Замените строку formData.append("ClassCoverage", CoverageItemsArr)
на жестко закодированное значение:
var formData =
{
TuitionId: 1,
TuitionTitle: "Tuition title",
ClassCoverage: [
{
DistrictId: 1,
CityId: 1,
Place: "Some place",
DistrictName: "Some district",
CityName: "Some city",
ClassCoverageId: 1,
TuitionId: 1,
AddedBy: "someone",
ModifiedBy: "someone else"
},
{
DistrictId: 2,
CityId: 2,
Place: "Some other place",
DistrictName: "Some other district",
CityName: "Some other city",
ClassCoverageId: 2,
TuitionId: 2,
AddedBy: "someone",
ModifiedBy: "someone else"
}
]
}
Попробуйте это. Если это работает, просто замените фактические значения и ClassCoverage следующим образом:
var formData =
{
TuitionId: $("#whatever_holds_it").val(),
TuitionTitle: $("#whatever_holds_title").val(),
ClassCoverage: CoverageItemsArr
}
Если это еще не работает, попробуйте установить все свойства объекта покрытия и посмотрите, что произойдет. В противном случае нам понадобится действие вашего контроллера (только его подпись, а не тело). Убедитесь, что у вас есть атрибут [HttpPost] над вашим действием.