在控制器的alias <command>='<path_to_command>'
方法中,我无法成功验证并传递模型的详细信息。但是,当我添加新行时,它将验证并将其值传递给控制器。
以下是示例输出:
两条记录都没有通过和验证,但是当我添加新行时,新行中的记录将通过验证并通过
这是我获取现有详细信息的代码
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
}
}
添加行代码JS:
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);
}
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
}
答案 0 :(得分:0)
使用此代码解决问题
查看
<tbody id="journalRow">
@foreach(var item in Model.JournalDetailsViewModel)
{
@Html.Partial("_JournalDetails", item)
}
</tbody>
PartialView
@model SimplyAccounting.Models.TransactionViewModels.JournalDetailsViewModel
@using (Html.BeginCollectionItem("JournalDetailsViewModel"))
{
<tr class="checkDetails" id="@Model.Guid">
<td>
}
}