我想获得控制器的复选框列表。
foreach (var item in Model.Billeder)
{
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(ModelItem => item.Overskrift, htmlAttributes: new { @class = "control-label col-md-2" }) @Html.DisplayFor(model => item.Overskrift)
<div class="col-md-10">
<div class="checkbox">
@Html.EditorFor(ModelItem => item.Emailbool)
@Html.ValidationMessageFor(ModelItem => item.Emailbool, "", new { @class = "text-danger" })
</div>
</div>
</div>
}
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Send" class="btn btn-default" />
</div>
</div>
在tilbud我有一个
public virtual ICollection<Billed> Billeder { get; set; }
我想让它进入控制器,所以我可以对它们进行排序
public ActionResult MailTilbud(Tilbud tb)
答案 0 :(得分:0)
for-each循环不起作用,因为复选框元素名称不能用索引正确创建,这会导致它不会回发到控制器中,所以将其更改为用于循环:< / p>
for (int i=0 i <Model.Billeder.Count; i++)
{
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(ModelItem => Model.Billeder[i].Overskrift, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.DisplayFor(model => Model.Billeder[i].Overskrift)
<div class="col-md-10">
<div class="checkbox">
@Html.EditorFor(ModelItem => Model.Billeder[i].Emailbool)
@Html.ValidationMessageFor(ModelItem => Model.Billeder[i].Emailbool, "", new { @class = "text-danger" })
</div>
</div>
</div>
}
您需要修改模型才能拥有IList<T>
,因为ICollection<T>
没有索引支持。
public virtual IList<Billed> Billeder { get; set; }
如果您的模型中的上述属性使用Entity Framework映射到表,那么您需要创建特定于View的ViewModel类而不是修改DTO模型。