Я создал представление с формой, включающей таблицу со строками, инициализируемыми из списка, таблицу, спроектированную с помощью jQuery.datatables 1.10.15.
Когда я пытался отправить форму, то таблица не отправлялась, я получалnull в параметре списка в контроллере действий.
просмотр страницы:
@model List<SendMails.ViewModels.ViewModelDetailsFile>
@{
ViewBag.Title = "UpdateItems";
}
@using (Html.BeginForm("UpdateItems", "Home", FormMethod.Post)) {
@Html.AntiForgeryToken()
<table id="DetailsExcelChoose">
<thead>
<tr>
<th class="RightToLeft wideIndexCol">IndexRow</th>
<th class="RightToLeft">InvoiceNumber</th>
<th class="RightToLeft wideIndexCol">NumberClient</th>
<th class="RightToLeft ">NameClient</th>
<th class="RightToLeft wideIndexCol">Amount</th>
<th class="RightToLeft wideIndexCol">Email</th>
<th class="RightToLeft wideIndexCol">ContactPerson</th>
<th class="RightToLeft ">Details</th>
</tr>
</thead>
<tbody name="iObjsUpdate">
@if (Model != null)
{
for (var i = 0; i < Model.Count(); i++)
{
<tr>
<td name="IndexRow">@Model[i].IndexRow</td>
<td name="InvoiceNumber">@Model[i].InvoiceNumber</td>
<td name="NumberClient">@Model[i].NumberClient</td>
<td name="NameClient">@Model[i].NameClient</td>
<td name="Amount">@Model[i].Amount</td>
<td name="Email"><input type="email" id="Email" name="Email" value=@Model[i].Email /></td>
<td name="ContactPerson"><input type="text" id="ContactPerson" name="ContactPerson" value=@Model[i].ContactPerson></td>
<td name="Details">@Model[i].Details</td>
</tr>
}
}
</tbody>
</table>
<div class="form-group row">
<button type="submit" class="btn btn-primary">send</button>
</div> }
JS-файл:
$(document).ready(function () {
var dataTable = $("#DetailsExcelChoose").DataTable();
});
Действие контроллера:
[HttpPost]
[ValidateAntiForgeryToken]
[Route("UpdateItems")]
public async Task<ActionResult> UpdateItems(List<ViewModelDetailsFile> iObjsUpdate)
{
/// iObjsUpdate is null
}
Я прочитал, что нужно установить атрибут имени для asp.net, который знает, почему колонны ...
Но все мои поиски в Google не увенчались успехом.
Если я этого не сделалясно, что я хочу, так что ... Я хочу отправить детали строк в действие контроллера в виде списка объектов (да, я знаю, что могу сделать это в ajax, но я хочу таким образом)