Asp.net mvc 添加到控制器的Mvc复选框列表
我想将复选框列表发送给控制器Asp.net mvc 添加到控制器的Mvc复选框列表,asp.net-mvc,Asp.net Mvc,我想将复选框列表发送给控制器 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 = "
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>
for each循环将不起作用,因为无法使用索引正确创建复选框元素名称,这将导致该元素无法在控制器中发回,因此请将其更改为使用for循环:
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>
}
for(int i=0 i Model.biller[i]。Overskrift,htmlAttributes:new{@class=“control label col-md-2”})
@DisplayFor(model=>model.biller[i].Overskrift)
@EditorFor(ModelItem=>Model.Biller[i].Emailbool)
@Html.ValidationMessageFor(ModelItem=>Model.bilder[i].Emailbool,“,new{@class=“text danger”})
}
而且您需要修改模型,使其具有IList
,因为ICollection
不支持索引
public virtual IList<Billed> Billeder { get; set; }
公共虚拟IList计费器{get;set;}
如果上面的属性在使用实体框架映射到表的模型中,那么您需要创建特定于视图的ViewModel类,而不是修改DTO模型。Hey@Ehsan,要使其起作用,我还必须更改ICollection,对吗?感谢如果
ICollection
不支持索引,则是,您可以使用IList
无法使用[]对“ICollection”类型的表达式应用索引,感谢它的工作:)
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>
}
public virtual IList<Billed> Billeder { get; set; }