Asp.net mvc @Html.EditorFor在post时发送空数组

Asp.net mvc @Html.EditorFor在post时发送空数组,asp.net-mvc,jquery-mobile,editortemplates,Asp.net Mvc,Jquery Mobile,Editortemplates,在我的模型中: public class WzDetail { public Product Product { get; set; } public bool check { get; set; } public int PlanQuantity { get; set; } public int RealQuantity { get; set; } } public class Wz { public IL

在我的模型中:

 public class WzDetail
    {
        public Product Product { get; set; }
        public bool check { get; set; }
        public int PlanQuantity { get; set; }
        public int RealQuantity { get; set; }
    }
public class Wz
{
   public IList<WzDetail> WzMain { get; set; }
   public IList<WzDetail> WzAdditional { get; set; }
   public IList<WzDetail> WzEquipment { get; set; }
   public string SignatureOne { get; set; }
   public string SignatureTwo { get; set; }
}
公共类WzDetail
{
公共产品产品{get;set;}
公共布尔检查{get;set;}
公共整数计划数量{get;set;}
public int RealQuantity{get;set;}
}
公共类Wz
{
公共IList WzMain{get;set;}
公共IList wzaadditional{get;set;}
公共IList WzEquipment{get;set;}
公共字符串SignatureOne{get;set;}
公共字符串signaturewo{get;set;}
}
如你所见,这里有一个列表。以简单的方式显示它:

            <table class="table1" >
         @Html.EditorFor(x => x.WzEquipment) 
            </table>

@Html.EditorFor(x=>x.WzEquipment)
我的编辑示例:

    @model WzDetail

<tr>
    @Html.HiddenFor(x => x.Product.BarCode)
    @Html.HiddenFor(x => x.Product.Checked)
    @Html.HiddenFor(x => x.Product.ProductGroup)
    @Html.HiddenFor(x => x.Product.ProductId)
    @Html.HiddenFor(x => x.Product.Weight)
    <td>@Model.Product.ProductName </td>  
    <td>@Model.PlanQuantity</td>
    <td>@Html.TextBoxFor(m => m.RealQuantity, new { type = "range", pattern = "[0-9]*", min = "0", max = @Model.PlanQuantity*2, Value = @Model.PlanQuantity })</td>
    <td align="right" ><label class="mylabel" data-theme="c" for="@Model.Product.ProductId" data-iconpos="right" >&nbsp;</label>
    @Html.CheckBoxFor(m => m.check, new { type = "checkbox", id = @Model.Product.ProductId, @class = "mychck" })
</tr>
@Html.ValidationMessageFor(m => m.RealQuantity)
@model WzDetail
@Html.HiddenFor(x=>x.Product.BarCode)
@Html.HiddenFor(x=>x.Product.Checked)
@Html.HiddenFor(x=>x.Product.ProductGroup)
@Html.HiddenFor(x=>x.Product.ProductId)
@Html.HiddenFor(x=>x.Product.Weight)
@Model.Product.ProductName
@模型数量
@Html.TextBoxFor(m=>m.RealQuantity,新的{type=“range”,pattern=“[0-9]*”,min=“0”,max=@Model.PlanQuantity*2,Value=@Model.PlanQuantity})
@CheckBoxFor(m=>m.check,新的{type=“checkbox”,id=@Model.Product.ProductId,@class=“mychck”})
@Html.ValidationMessageFor(m=>m.RealQuantity)
一切都陈列得很好

但在将模型发布到控制器之后,每次列表都是空的,即使生成视图时已完成

这是jQuery Mobile在客户端生成的代码:

<table class="table1">
<tbody>
<tr>
<input id="WzMain_0__Product_BarCode" type="hidden" value="" name="WzMain[0].Product.BarCode">
<input id="WzMain_0__Product_Checked" type="hidden" value="False" name="WzMain[0].Product.Checked" data-val-required="The Checked field is required." data-val="true">
<input id="WzMain_0__Product_ProductGroup" type="hidden" value="Main" name="WzMain[0].Product.ProductGroup" data-val-required="The ProductGroup field is required." data-val="true">
<input id="WzMain_0__Product_ProductId" type="hidden" value="4" name="WzMain[0].Product.ProductId" data-val-required="The ProductId field is required." data-val-number="The field ProductId must be a number." data-val="true">
<input id="WzMain_0__Product_Weight" type="hidden" value="0" name="WzMain[0].Product.Weight" data-val-required="The Weight field is required." data-val-number="The field Weight must be a number." data-val="true">
<td>Woda 18,9L </td>
<td>1</td>
<td>
<input id="WzMain_0__RealQuantity" class="ui-input-text ui-body-a ui-corner-all ui-shadow-inset ui-slider-input" type="number" data-type="range" pattern="[0-9]*" name="WzMain[0].RealQuantity" min="0" max="2" data-val-required="The Zrealizowana ilość field is required." data-val-regex-pattern="^-?\d+$" data-val-regex="Ilość można podać tylko liczbowo" data-val-range-min="0" data-val-range-max="999" data-val-range="Zakres od 1 do 999" data-val-number="The field Zrealizowana ilość must be a number." data-val="true" value="1">
<div class="ui-slider ui-btn-down-a ui-btn-corner-all" role="application">
<a class="ui-slider-handle ui-btn ui-btn-up-a ui-btn-corner-all ui-shadow" href="#" data-corners="true" data-shadow="true" data-iconshadow="true" data-inline="false" data-wrapperels="span" data-theme="a" role="slider" aria-valuemin="0" aria-valuemax="2" aria-valuenow="1" aria-valuetext="1" title="1" aria-labelledby="WzMain_0__RealQuantity-label" style="left: 50%;">
<span class="ui-btn-inner">
<span class="ui-btn-text"></span>
</span>
</a>
</div>
</td>
<td align="right">
<div class="ui-checkbox">
<input id="4" class="mychck" type="checkbox" value="true" name="WzMain[0].check" data-val-required="The Zaznaczony field is required." data-val="true">
<label class="mylabel ui-btn ui-btn-up-c ui-btn-icon-right ui-checkbox-off" data-iconpos="right" for="4" data-theme="c" data-corners="true" data-shadow="false" data-iconshadow="true" data-inline="false" data-wrapperels="span" data-icon="checkbox-off">
<span class="ui-btn-inner">
<span class="ui-btn-text">&nbsp;</span>
<span class="ui-icon ui-icon-checkbox-off ui-icon-shadow"></span>
</span>
</label>
</div>
<input type="hidden" value="false" name="WzMain[0].check">
</td>
</tr>
</tbody>
</table>

沃达18,9L
1.

知道如何将列表发送到控制器吗?

接收操作的控制器应该有一个名为
WzMain
的参数,类型为
IEnumerable


试试看

接收操作的控制器应该有一个名为
WzMain
类型为
IEnumerable

试试看,好的。 我的错 我试着这样发帖:

@using (Html.BeginForm("DocumentConfirmation", "Order", @Model, FormMethod.Post))
但正确的做法是:

@using (Html.BeginForm("DocumentConfirmation", "Order", FormMethod.Post))
嗯。 我的错 我试着这样发帖:

@using (Html.BeginForm("DocumentConfirmation", "Order", @Model, FormMethod.Post))
但正确的做法是:

@using (Html.BeginForm("DocumentConfirmation", "Order", FormMethod.Post))