Мне нужно передать только проверенные строки методу HTTP post action модели представления, после фильтрации строк с использованием таблицы данных Jquery с использованием фильтров, таких как разбиение на страницы, поиск и т. Д. Но таблица возвращает нуль в модель представления ...
<tbody>
@{
int count = 0;
for (int i = 0; i < Model.animalAdaptionDetails.Count; i++)
{
count++;
<tr>
<td>@count</td>
<td>@Html.CheckBoxFor(it => it.animalAdaptionDetails[i].Checked, new { Style = "vertical-align:3px}" })</td>
<td>
@Html.HiddenFor(it => it.animalAdaptionDetails[i].AnimalId)
@Html.DisplayFor(it => it.animalAdaptionDetails[i].name)
</td>
<td>
@Html.HiddenFor(it => it.animalAdaptionDetails[i].amount)
@Html.DisplayFor(it => it.animalAdaptionDetails[i].amount)
</td>
</tr>
}
}
</tbody>
Метод действия контроллера и класс модели
[HttpPost]
public ActionResult Index(AdoptionDetails model)
{
if (ModelState.IsValid)
{
if (AdoptionRepository.InsertAdoptionDetails(model))
{
return RedirectToAction("AdaptionDetails");
}
}
return View(AdoptionRepository.GetAnimalDetails());
}
public class AdoptionDetails
{
public int userId { get; set; }
[Required]
[MinLength(3, ErrorMessage = "Please enter at least 3 characters")]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
public List<AnimalAdaptionDetails> animalAdaptionDetails { get; set; }
}
public class AnimalAdaptionDetails
{
public int AdoptionId { get; set; }
public int AnimalId { get; set; }
public string name { get; set; }
public int? amount { get; set; }
public bool Checked { get; set; }
}
Код таблицы данных Jquery, который я пробовал
$("#target").submit(function (event) {
debugger;
table = $('#datatable-responsive').dataTable();
//alert("Handler for .submit() called.");
table.fnFilter("");
var oSettings = table.fnSettings();
table._iDisplayLength = -1;
table.fnDraw();
});