让我稍微澄清标题。
我是一个拥有一系列预告片的模型,而每个集合都有一个预告片列表。 html看起来像这样
for(int i = 0; i <Model.TrailerCollection.Count(); i++)
{
... // some html
@for(int j = 0; j < Model.TrailerCollection[i].Trailers.Count(); j++)
{
<div>
@Html.CheckBoxFor(m => m.TrailerCollection[i].Trailers[j].SelectedTrailer, new {data_id = Model.TrailerCollection[i].Trailers[j].TrailerTypeId}
</div>
}
}
现在,我根据需要输出html,每个项目旁边都有一个复选框,但是当我将模型发布回控制器时会出现问题。 如果我有一个说10个复选框的列表并检查它们全部,当模型传递给控制器时,第一个总是假,即使被选中,但其他的都没问题。 以下是JS的清晰度。
var data = $("#form1").seralize
$.ajax({
url: 'xxxx',
data:data,
type:'post'
success: function(result)
{...}
});
我的控制器代码段
public async Task<HttpResponseMessage> Update(VM model)
我只是有点困惑为什么第一个总是假的。 非常感谢任何帮助。
呈现HTML
<div class="row">
<div class="col-lg-8"> Trl_86_dd_1 </div>
<div class="col-lg-4">
<input data-id="11" id="TrailerCollection_0__Trailers_0__SelectedTrailer" name="TrailerCollection[0].Trailers[0].SelectedTrailer" value="true" type="checkbox">
<input name="TrailerCollection[0].Trailers[0].SelectedTrailer" value="false" type="hidden">
</div>
<input data-val="true" data-val-number="The field TrailerTypeId must be a number." id="TrailerCollection_0__Trailers_0__TrailerTypeId" name="TrailerCollection[0].Trailers[0].TrailerTypeId" value="11" type="hidden">
<input id="TrailerCollection_0__Trailers_0__Name" name="TrailerCollection[0].Trailers[0].Name" value="Trl_86_dd_1" type="hidden">
</div>
<div class="row">
<div class="col-lg-8">Trl_86_dd_2</div>
<div class="col-lg-4">
<input checked="checked" data-id="26" id="TrailerCollection_0__Trailers_1__SelectedTrailer" name="TrailerCollection[0].Trailers[1].SelectedTrailer" value="true" type="checkbox">
<input name="TrailerCollection[0].Trailers[1].SelectedTrailer" value="false" type="hidden">
</div>
<input data-val="true" data-val-number="The field TrailerTypeId must be a number." id="TrailerCollection_0__Trailers_1__TrailerTypeId" name="TrailerCollection[0].Trailers[1].TrailerTypeId" value="26" type="hidden">
<input id="TrailerCollection_0__Trailers_1__Name" name="TrailerCollection[0].Trailers[1].Name" value="Trl_86_dd_2" type="hidden">
</div>