为了账号安全,请及时绑定邮箱和手机立即绑定

请问MVC表单无法发布对象列表

请问MVC表单无法发布对象列表

海绵宝宝撒 2019-08-01 02:01:16
MVC表单无法发布对象列表所以我有一个MVC ASP.NET应用程序有问题。本质上,我有一个视图,它包含一个表单,它的内容被绑定到一个对象列表中。在这个循环中,它加载PartialView中正在循环的项。现在一切都在运转,直到形体被提交。当提交时,控制器将被发送一个空对象列表。下面的代码证明了这些问题。家长意见:@model IEnumerable<PlanCompareViewModel>@using (Html.BeginForm("ComparePlans", "Plans", FormMethod.Post, new { id = "compareForm" })){<div>     @foreach (var planVM in Model)     {         @Html.Partial("_partialView", planVM)     }</div>}_ParalView:@model PlanCompareViewModel<div>     @Html.HiddenFor(p => p.PlanID)     @Html.HiddenFor(p => p.CurrentPlan)     @Html.CheckBoxFor(p => p.ShouldCompare)    <input type="submit" value="Compare"/></div>以下是上述代码的类:PlanViewModel:public class PlansCompareViewModel{     public int PlanID { get; set; }     public Plan CurrentPlan { get; set; }     public bool ShouldCompare { get; set; }     public PlansCompareViewModel(Plan plan)     {         ShouldCompare = false;         PlanID = plan.PlanId;         CurrentPlan = plan;     }     public PlansCompareViewModel()     {         // TODO: Complete member initialization     }     public static IEnumerable<PlansCompareViewModel> CreatePlansVM(IEnumerable<Plan> plans)     {         return plans.Select(p => new PlansCompareViewModel(p)).AsEnumerable();     }}主计长:public class PlansController : MyBaseController{     [HttpPost]     public ActionResult ComparePlans(IEnumerable<PlanCompareViewModel> model)     {          //the model passed into here is NULL     }}问题在于控制器的作用。据我所知,它应该发布一个PlanCompareViewModel的可枚举列表,但它是空的。在检查发送的POST数据时,它发送的是正确的Params。如果我要将‘IEnDigable’改为‘FormCollection’,它包含正确的值。有人知道为什么绑定器没有创建正确的对象吗?我可以使用javascript绕过这个问题,但这违背了目的!任何帮助都将不胜感激!
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 626 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信