В методе контроллера Edit
я не могу успешно проверить и передать детали модели.Но когда я добавляю новую строку, она проверяет и передает свои значения в контроллер.
Вот пример вывода:
Две записи не проходят и не проверяются, но когда я добавляю новую строку, запись из новой строки проверяется и проходит
Вот мой код дляполучение существующих данных
var form = $('form');
$.ajax({
url: '/Journals/EditJournalDetails',
data: {
id: @Model.Id
},
success: function (data) {
$('#journalRow').append('<tr>' + data + '</tr>');
$('tbody#journalRow>tr.checkDetails').appendTo('#checkRow');
form.data('validator', null);
$.validator.unobtrusive.parse(form);
}
});
код для EditJournalDetails
@model IEnumerable<SimplyAccounting.Models.TransactionViewModels.JournalDetailsViewModel>
@using (Html.BeginCollectionItem("JournalDetailsViewModel"))
{
@foreach (var item in Model)
{
//row values here
}
}
Код контроллера:
public async Task<IActionResult> EditJournalDetails(int? id)
{
var journaldetails = await _context.JournalDetails.Where(m => m.JournalId == id).ToListAsync();
var jdvmodel = _mapper.Map<List<JournalDetailsViewModel>>(journaldetails);
foreach(var item in jdvmodel)
{
//retrieve data here
}
return PartialView("_EditJournalDetails", jdvmodel);
}
Добавить код строки JS:
function GetRow() {
var form = $('form');
$.ajax({
url: '/Journals/CreateJournalDetails',
success: function (data) {
$('#journalRow').append('<tr>' + data + '</tr>');
$('tbody#journalRow>tr.checkDetails').appendTo('#checkRow');
form.data('validator', null);
$.validator.unobtrusive.parse(form);
}
});
}
CreateJournalDetails
код частичного просмотра:
@model SimplyAccounting.Models.TransactionViewModels.JournalDetailsViewModel
@using (Html.BeginCollectionItem("JournalDetailsViewModel"))
{
//row codes here
}
Код контроллера:
public IActionResult CreateJournalDetails(JournalDetailsViewModel vmodel)
{
vmodel = new JournalDetailsViewModel();
//some code here
return PartialView("_CreateJournalDetails", vmodel);
}