数据表复选框条目返回null ViewModel时,应用了分页时



我只需要将检查行传递到视图模型的HTTP POST ACTION方法,之后,使用jQuery数据表过滤行,使用分页,搜索等过滤器,但表返回。null到视图模型...

<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();
            });
[HttpPost]
        public ActionResult Index(AdoptionDetails model,AnimalAdaptionDetails[] animalAdaptionDetails )
        {
            if (ModelState.IsValid)
            {
                if (AdoptionRepository.InsertAdoptionDetails(model))
                {
                    return RedirectToAction("AdaptionDetails");
                }
            }
            return View(AdoptionRepository.GetAnimalDetails());
        }

最新更新